python初始化二维列表:[].append([]) 与 [[]] * n

  写k-means算法时需要初始化一个二维空列表,然后发现每一次迭代后每一个簇的点都是一样的,且都是全部样本点。
  一开始为:

lis = [[]] * 3
print(lis)
lis[2].append(5)
print(lis)

在这里插入图片描述
  正确写法:

lis = []
for i in range(3):
    lis.append([])
print(lis)
lis[2].append(5)
print(lis)

在这里插入图片描述
或者:

lis = [[] for _ in range(3)]
print(lis)
lis[2].append(5)
print(lis)

猜你喜欢

转载自blog.csdn.net/Cyril_KI/article/details/112865554
今日推荐