2017-06-26 111 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

你能解釋重新綁定? append和extend又有什麼區別? – metasj

+0

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