一维列表的初始化:
初始一个长度为5的列表
a = [0]*5
# [0, 0, 0, 0, 0]
a = [0 for _ in range(5)]
# [0, 0, 0, 0, 0]
二维列表的初始化:
初始一个2*5的列表:
b = [[0]*5 for _ in range(2)]
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
b = [[0 for _ in range(5)] for _ in range(2)]
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
下述方式是错误的,这相当于将[0]*5这个一维列表复制了2次,每当改变其中一个一维列表中的元素,剩余列表中的元素也会跟着改变。
b = [[0]*5]*2
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
b[0][1] = 3
# [[0, 3, 0, 0, 0], [0, 3, 0, 0, 0]]