Python 中这两个数组声明有什么区别?
table = [[0]*100]*100
table = numpy.zeros([100,100], int)
请您参考如下方法:
事实上,它们没有任何共同点。第二个是一个 numpy 二维数组。第一个没有任何用处——它是一个包含 100 个项目的数组,每个项目都是对一个包含 100 个零的 SINGLE 数组的引用:
table = [[0]*100]*100
table[1][0]=222
print table[0][0]
这会打印“222”!
table = numpy.zeros([100,100], int)
table[1][0]=222
print table[0][0]
这会打印“0”!
