a = [0*10]*10
b =[ [0 for i in range(10)] for j in range(10)]
看起来a,b没有什么太大的差别,实际呢,a中的每一列都同时变化,也就是a中的每一列元素只是用了一个元素的内存地址
而b中的而每一个元素都有自己的存储空间,所以进行如下两个操作之后结果迥异
a[1][1]=3 a[1]=[3,3,3,3,3,3,3,3,3,3]
b[1][1]=3 b[1]=[0,3,0,0,0,0,0,0,0,0]
一种有坑的列表初始化方式
最新推荐文章于 2019-06-04 10:28:02 发布