リストのメソッドappendの1)から3)の挙動がイマイチ良く分かりません。
解説のほど、よろしくお願いいたします。
1)
python
1lst=[1,2,3,4,5] 2for i in lst: 3 a=[] 4 a.append(i) 5a 6 7[5]
2)
python
1lst=[1,2,3,4,5] 2for i in lst: 3 a.append(i) 4 a=[] 5a 6 7[] 8
python
1a=[] 2for i in lst: 3 a.append(i) 4 5a 6 7[1, 2, 3, 4, 5]
y-waiwaiさんのご回答により、2)の挙動の感じはつかめました。
for文で回された最後の値[5]が、まずaに代入され、その後、空の状態が代入されていたのですね。
では、1)と3)の振る舞いの違いは、どう解釈したらよいでしょうか。
なぜ、1)の場合(ローカル変数の場合)には、最後に回された値[5]が代入され、
一方の3)の場合(グローバル変数の場合)には、リストのすべて値[1,2,3,4,5]が代入されるのでしょう。
よろしく、お願いいたします。
回答3件
あなたの回答
tips
プレビュー