pythonのfor文について質問です。
下記コードで、forループでリストを回るコードを書いたのですが、なぜpopメソッドでリストの末尾にある"plum"が消されたのにも関わらず三回目のfor文でplumが抽出されているのかが理解できません。
python
1fruits = ["apple","kiwi","plum"] 2for f in fruits[:]: 3 if len(f) < 5: 4 fruits.insert(0,f) 5 fruits.pop() 6print(fruits,end="") 7#出力結果:["plum","kiwi","apple"] 8
調べるため下記コードを試しましたが
python
1fruits = ['apple', 'kiwi', 'plum'] 2for f in fruits[:]: 3 print('A: fruits =', fruits) 4 print('B: f =', f) 5 if len(f) < 5: 6 fruits.insert(0, f) 7 print('C: fruits =', fruits) 8 fruits.pop() 9 print('D: fruits =', fruits)
実行すると
python
1>>> fruits = ['apple', 'kiwi', 'plum'] 2>>> for f in fruits[:]: 3... print('A: fruits =', fruits) 4... print('B: f =', f) 5... if len(f) < 5: 6... fruits.insert(0, f) 7... print('C: fruits =', fruits) 8... fruits.pop() 9... print('D: fruits =', fruits) 10... 11A: fruits = ['apple', 'kiwi', 'plum'] 12B: f = apple 13A: fruits = ['apple', 'kiwi', 'plum'] 14B: f = kiwi 15C: fruits = ['kiwi', 'apple', 'kiwi', 'plum'] 16'plum' 17D: fruits = ['kiwi', 'apple', 'kiwi'] 18A: fruits = ['kiwi', 'apple', 'kiwi'] 19B: f = plum 20C: fruits = ['plum', 'kiwi', 'apple', 'kiwi'] 21'kiwi' 22D: fruits = ['plum', 'kiwi', 'apple']
上記のように表示されていますが、A: fruits = ['kiwi', 'apple', 'kiwi']と表示されているにも関わらずB: f = plumと表示されます。
長文で申し訳ないですが、ご教授の程よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/13 11:50
2021/06/13 12:13
2021/06/14 04:38