如果你需要使用二维数组,在 Python 中,除了 numpy 这个包之外,最简单的方式就是使用 list 了。你可能认为可以这样构建:
但是请你再仔细想一想,这样做真的没有问题吗?
不要忘记了, Python 一切都是对象 这个问题,对象肯定存在引用的问题,尤其是可变对象。我们试着来改变其中一个元素:
很不幸,不是我们想象的那样,它改变了多个元素。
来看一看 [ [0] * m ] * n 这个表达式,它首先创建 a = [ [0] * 4] ,然后构造 array = [a] * 3 ,这里 array 里面是 a 的 3 个引用。
正确的构造,应该使用 列表推导式 ,而且非常 Pythonic :
for i in range(1,4):for j in range(1,i+1):
print(i,' ',j)
print('\n')
能解决你的问题话可以点一#下#关#注#哦