簡體   English   中英

Python Append vs list + list

[英]Python Append vs list+list

我讀了Python list + list vs. list.append() ,這是一個類似的問題,但是我的問題更多地與下面的代碼有關

a = [[]] * 4
b = [[]] * 4
a[3] = a[3] + [1]
b[3].append(1)
print a, b

這使:

[[],[],[],[1]] [[1],[1],[1],[1]]

為什么這兩個有什么不同? 我從來沒有遇到過這樣的例子,其中這兩種方法具有不同的輸出...

謝謝

a[3] = a[3] + [1]未修改a[3] 取而代之的是,它將新物品放在那里。 a[3] + [1]創建一個與a[3]相似的列表,只是它的末尾有一個額外的列表。 然后, a[3] = ...將索引3處的a設置為該新列表。

b[3].append(1)訪問b[3]並使用其.append()方法。 .append()方法對列表本身起作用,並將一個放在列表末尾。 由於[[]] * 4創建一個包含另一個列表的四個副本的列表,因此.append()方法在b所有項目中顯示其更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM