二維列表list=[[]]*3與list=[[],[],[]]區別
最近遇到一個二維列表問題,麻煩下大家幫我看看:
我想定義一個list=[[]]*N把一個txt文件的第一列放入list[0],第二列放入list[1],依次類推,以下是我的代碼:
result=[[]]*4
with open('2.txt','r') as f:
? ? for line in f:
? ? ? ? tmp=line.split()
? ? ? ? result[0].append(tmp[0]) ? #對result中第一個list添加tmp[0]
? ? ? ? result[1].append(tmp[1])
? ? ? ? result[2].append(tmp[2])
? ? print(result)
結果輸出list[i]中包含了txt中的所有數據,且每個list[i]都一樣。如果定義list=[[],[],[],[]]的話就能正確輸出,但如果我要定義一個list中有100個空列表該怎么定義呢?
我用的是Python3.6,望不吝賜教
2017-01-13
個人理解,覺得應該是list[[]*3] ?和 list[[],[],[]]是等價的,您的list[[]]*3會將所有的都放在一起 分行進行輸出?!緝H供參考,說得不對的地方還望見諒。