2017-06-26 12 views
-1

私はそのリストがPythonの可変オブジェクトであることを知っています。リスト要素を連結するときにリスト変数の新しい場所が割り当てられるのはなぜですか?なぜmyListは新しいオブジェクトを作成するのではなく元のオブジェクトの内容を追加しませんか?リストの連結はPythonで

list1=[1,2,3,4,5] 
def proc(myList): 
    myList = myList + [6, 7] 
    print(myList) 


print (list1) 
proc(list1) 
print (list1) 

答えて

3

割り当てが変更されないため、割り当てが再バインドされるためです。

myList.extend([6, 7]) 
+0

または 'ます。myList + = [6、7]' - 彼のボート – Wondercricket

+0

を浮かぶものは何でもあなたが再バインド説明できますか?追加と拡張の違いは何ですか? – metasj

+0

https://stackoverflow.com/questions/9073995/difference-between-mutation-rebinding-copying-value-and-assignment-operator –

関連する問題