Chinaunix
标题:
python list 嵌套问题
[打印本页]
作者:
cs221313
时间:
2009-06-03 17:41
标题:
python list 嵌套问题
我定义了如下list:
a = [['',0]] * 5
然后我想对第一个list中的数字进行赋值。代码如下:
a[0][1] = 5
当我打印a的时候发现所有的数字都改了。结果如下:
>>> print a
[['', 5], ['', 5], ['', 5], ['', 5], ['', 5]]
哪位大虾能否解释一下为什么. 如果我只想改第一个list的数值,怎么做?
谢谢
[
本帖最后由 cs221313 于 2009-6-3 04:43 编辑
]
作者:
xiaoyu9805119
时间:
2009-06-03 17:48
a = [['',0] for i in xrange(5)]
a[0][1] = 5
作者:
千年沉寂
时间:
2009-06-03 18:02
a = [['',0]] * 5
只是对['',0]进行了浅拷贝
作者:
izhier
时间:
2009-06-03 19:04
a = [['',0]] * 5
复制的是引用
作者:
xiaoyu9805119
时间:
2009-06-04 08:12
在邮件组也有讨论的
https://groups.google.com/group/ ... ad/b6643156424ca337
作者:
cs221313
时间:
2009-06-04 09:20
标题:
问题解决了。
非常感谢大家的回答。受益匪浅。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2