我知道做是浅薄的复制(成员不是复制的),还能有人解释一下这种行为:
>>> a=[['a','b','c','a','b','c','a','b','c'],
... ['c','a','b','c','a','b','c','a','b'],
... ['b','c','a','b','c','a','b','c','a']
... ]
>>> for i in a:
... i=i[4:]
...
>>> a
[['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c'], ['c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b'], ['b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a']]
>>> 为什么a还没有改变呢?很抱歉问你这个问题。
发布于 2013-12-29 15:25:36
当你说
i=i[4:]实际上,您并不是将i更改为i[4:],而是简单地将i指向i[4:]。i仅仅是对实际列表的引用。为了真正改变数据,
i[:]=i[4:]https://stackoverflow.com/questions/20826603
复制相似问题