回答編集履歴

4

プログラム修正

2025/03/04 05:02

投稿

TakaiY
TakaiY

スコア14197

test CHANGED
@@ -7,7 +7,8 @@
7
7
  for i in s:
8
8
  if not(i=="a" or i=="i" or i=="u" or i=="e" or i=="o"):
9
9
  ans.append(i)
10
- print(s)
10
+ print(i)
11
+ print(ans)
11
12
  ```
12
13
  (他の回答の内包表記も同じ考え)
13
14
 

3

補足

2025/03/04 05:00

投稿

TakaiY
TakaiY

スコア14197

test CHANGED
@@ -1,5 +1,5 @@
1
1
  リストや辞書の内容でループしながら、**そのループしているリストなどを書き換える**ことはすべきではありません。通常は予期しない結果が出ます。
2
- 例外としては、巨大なデータを扱っていてメモリの関係でそのようなことをする必要がある場合などですね。
2
+ 例外の例としては、巨大なデータを扱っていてメモリを節欲するために内容見ながら書き換えるようなことをする必要がある場合などですね。その場合も、その言語がどのようにデータを管理しているかを考えながら処理を行なう必要があります。
3
3
 
4
4
  通常の対応方法はいろいろありますが、質問のように不要なものを削除する場合、**必要なものだけ抽出する**のように読み替えることで、ループの中でリストを直接変更することを避けられます。
5
5
  ```python

2

typo

2025/03/04 04:58

投稿

TakaiY
TakaiY

スコア14197

test CHANGED
@@ -1,7 +1,7 @@
1
1
  リストや辞書の内容でループしながら、**そのループしているリストなどを書き換える**ことはすべきではありません。通常は予期しない結果が出ます。
2
2
  例外としては、巨大なデータを扱っていてメモリの関係でそのようなことをする必要がある場合などですね。
3
3
 
4
- 通常の対応方法はいろいろありますが、質問のように不要なものを削除する場合、**必要なものだけ抽出する**のように読み替えることで、直変更することを避けられます。
4
+ 通常の対応方法はいろいろありますが、質問のように不要なものを削除する場合、**必要なものだけ抽出する**のように読み替えることで、ループの中でリストを変更することを避けられます。
5
5
  ```python
6
6
  ans = []
7
7
  for i in s:
@@ -9,7 +9,7 @@
9
9
  ans.append(i)
10
10
  print(s)
11
11
  ```
12
- (他の回答の内包表記同じ考え)
12
+ (他の回答の内包表記同じ考え)
13
13
 
14
14
  ちなみに、判定で 「 複数のうちのどれか」を書くとき、orでつなぐよりも、「in」を使った方や読みやすくなります。
15
15
 

1

typo

2025/03/04 01:40

投稿

TakaiY
TakaiY

スコア14197

test CHANGED
@@ -1,8 +1,7 @@
1
- リストや辞書の内容でループしながら、**そのループしているリストなどを書き換える**ことはすべきではありません。通常は予期にさい結果が出ます。
1
+ リストや辞書の内容でループしながら、**そのループしているリストなどを書き換える**ことはすべきではありません。通常は予期しない結果が出ます。
2
-
3
2
  例外としては、巨大なデータを扱っていてメモリの関係でそのようなことをする必要がある場合などですね。
4
3
 
5
- では、通常の対応はいろいろありますが、質問のように不要なものを削除する場合、**必要なものだけ抽出する**のように読み替えます。
4
+ 通常の対応方法はいろいろありますが、質問のように不要なものを削除する場合、**必要なものだけ抽出する**のように読み替えることで、直截変更することを避けられます。
6
5
  ```python
7
6
  ans = []
8
7
  for i in s: