Python初始化列表我打算初始化一個長度為n的列表。x = [[]] * n然而,這以某種方式將列表鏈接在一起。>>> x = [[]] * 3>>> x[1].append(0)>>> x[[0], [0], [0]]我希望有這樣的東西:[[], [0], []]有什么想法嗎?
2 回答

汪汪一只貓
TA貢獻1898條經驗 獲得超8個贊
[x]*n
n
x
n
x = [[] for i in range(3)]
[]
[[]]*n
l = []x = []for i in range(n): x.append(l)
[[] for i in range(3)]
x = []for i in range(n): x.append([]) # appending a new list!
In [20]: x = [[]] * 4In [21]: [id(i) for i in x]Out[21]: [164363948, 164363948, 164363948, 164363948] # same id()'s for each list,i.e same objectIn [22]: x=[[] for i in range(4)]In [23]: [id(i) for i in x]Out[23]: [164382060, 164364140, 164363628, 164381292] #different id(), i.e unique objects this time
添加回答
舉報
0/150
提交
取消