需求:生成一个4行3列,值全为0的 list
# 方法一:
res = [[0]*3]* 4
print(res)
# 这个第1列的值都变成了9
res[1][1] = 9
print(res)
# 方法二:
res = [[0 for i in range(3)] for i in range(4)]
# 这个只修改 第1行第1列的值
res[1][1] = 9
print(res)
可能是因为 python中的 * 号传的是地址,导致数据修改乱掉。
所以推荐直接使用列表生成式。否则早晚掉进坑里。