列表在python函数中发生了变化

时间:2016-12-18 17:57:50

标签: python list

我在理解这里发生的事情时遇到了问题:

foo2

为什么第一个功能/列表中的内容会被{{1}}更改而第二个列表不会{{1}}?

1 个答案:

答案 0 :(得分:0)

简单地回答一下,在foo中,你实际上是通过将一个元素放在一个新列表中来创建列表的副本。你为foo编写的代码看起来基本上是这样的: var containsNumber = recordFailedPO.Where(x => x.ToString().Contains("123")); 在第二个示例中,您只需操作列表,这是一个可变对象。如果你这样做,你不会改变列表: [1] + [a[value] for value in range(1,len(a))]