【发布时间】:2011-08-20 12:12:32
【问题描述】:
我的问题是关于以下 for 循环:
x=[[1,2,3],[4,5,6]]
for v in x:
v=[0,0,0]
在这里,如果你打印 x,你会得到 [[1,2,3],[4,5,6]].. 所以改变的 v 并不是对 x 中列表的真正引用。但是当您执行以下操作时:
x=[[1,2,3],[4,5,6]]
for v in x:
v[0]=0; v[1]=0; v[2] =0
然后你得到 x 为 [[0,0,0],[0,0,0]]。如果 x 中的列表很长,甚至做这样的事情,这有点困难:
x=[[1,2,3],[4,5,6]]
for v in x:
for i in v:
i = 0
会给我 x 为 [[1,2,3],[4,5,6]]。我最好的选择是使用 for i in xrange(0,3): v[i]=0 .. 虽然我仍然想知道这里发生了什么以及其他选择是什么时候我有列表列表或更多嵌套列表。
【问题讨论】:
标签: python list reference for-loop