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
提交
取消