python 多元列表操作兩大誤區

精靈之子發表於2020-10-03

append函式的要點

基本用法

list = []
list.append(1)#基本用法,在空列表list中新增1這一元素

append函式的返回值為None,注意不能賦等號

list = list.append(2)#如果這樣寫list會直接被賦值為None
#正確:
list.append(2)#直接append即可

列表複製

如果直接賦值,其實只是給這個列表起了個別名,兩個名字共用一段記憶體

list = [1,2,3]
a = list
a.append(4)
print(list)
#結果得到[1,2,3,4]

正確的方法是使用copy函式,這樣會開闢另外一段一模一樣的記憶體空間

list = [1,2,3]
a = list.copy()
a.append(4)
print(list)
#結果得到[1,2,3]
#此時a = [1,2,3]

總結

綜合以上兩點,只要是涉及多元列表的操作,我們都應該先使用copy函式複製,再進行相關操作。尤其要注意append函式會改變原來列表本身,同時不要出現list = list.append()的低階錯誤。

相關文章