用for循环创建一个二维列表,和用乘号*创建一个二位列表,输出的结果一摸一样,
但是在操作之后就不一样了
代码如下:
im,jm = 4,4
sign1 = []
sign2 = []
temp = []
for i in range(im):
for j in range(jm):
temp.append(True)
sign1.append(temp)
temp = []
print(sign1,'\n')
sign2 = [[True]*jm]*im
print(sign2,'\n')
sign1[0][0] = False
sign2[0][0] = False
print(sign1,'\n')
print(sign2,'\n')
结果如下
[[True, True, True, True],
[True, True, True, True],
[True, True, True, True],
[True, True, True, True]]
[[True, True, True, True],
[True, True, True, True],
[True, True, True, True],
[True, True, True, True]]
[[False, True, True, True],
[True, True, True, True],
[True, True, True, True],
[True, True, True, True]]
[[False, True, True, True],
[False, True, True, True],
[False, True, True, True],
[False, True, True, True]]
(为了方便大佬们看,我自己加了换行)