list创建一维数组, arr = [0] * n 没问题 list创建二维数组 arr = [[0] * n] * m 有问题,里面的[0] * n是同一个引用,更改其中一个,都会修改全部。 正确做法是用列表推导式 a = [ [0 for j in range(n)] for i in range(m)]