列表b元素一样? b=[] a=[] for i in range(3): for j in range(3): a.append(i+j) b.append(a) print b
运行结果:[[0,1,2,1,2,3,2,3,4],[0,1,2,1,2,3,2,3,4],[0,1,2,1,2,3,2,3,4]]通过:printid(a)和print...
运行结果:[[0, 1, 2, 1, 2, 3, 2, 3, 4], [0, 1, 2, 1, 2, 3, 2, 3, 4], [0, 1, 2, 1, 2, 3, 2, 3, 4]]
通过:print id(a)和print id(b[i])知道了他们地址是一样的。那么请问下append()到底是怎么运用的呢?为什么结果不是:[[0, 1, 2,], [0, 1, 2, 1, 2, 3,], [0, 1, 2, 1, 2, 3, 2, 3, 4]] 展开
通过:print id(a)和print id(b[i])知道了他们地址是一样的。那么请问下append()到底是怎么运用的呢?为什么结果不是:[[0, 1, 2,], [0, 1, 2, 1, 2, 3,], [0, 1, 2, 1, 2, 3, 2, 3, 4]] 展开
2个回答
展开全部
b的append是a,而不是a的值
改用
a = []
b =[]
for i in range(3):
for j in range(3):
a.append(i+j)
b.append([x for x in a])
print b
print '---------------------'
结果是
[[0, 1, 2]]
---------------------
[[0, 1, 2], [0, 1, 2, 1, 2, 3]]
---------------------
[[0, 1, 2], [0, 1, 2, 1, 2, 3], [0, 1, 2, 1, 2, 3, 2, 3, 4]]
---------------------
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询