关于声明并初始化二维列表
想要快速创建一个二维列表如: 5x3的二维列表 [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
正确用法:
# 先创建一个一维列表
tmp = [0, ] * 3
result = []
for i in range(5):
# 拷贝对象
result.append(tmp.copy())
result[0][1] = 1
print(result)
# [[0, 1, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
误用:
# 得到的是一维列表的引用
result = [[0, ] * 3, ] * 5
result[0][1] = 1
print(result)
# [[0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0]]