python中的列表复制机制

时间:2018-08-01 01:40:13

标签: python list mutation

我知道具有以下代码的复制列表将执行浅表复制。即创建了新列表。

>>> L = [1,2,3,4,5]
>>> L_copy = L[:]
>>> L_copy

>>>[1, 2, 3, 4, 5]

>>> L_copy is L
  
    
      

错误

    
  

如何执行以下代码:

  
    
      

L [:] = some_list

    
  

我在一个例子中看到了它。

这是我关于stackoverflow的第一个问题。

1 个答案:

答案 0 :(得分:0)

L[:]创建了一个等于但不相同的对象。

>>> L = [1,2,3,4,5]
>>> _L = L[:]
>>> print L,_L
[1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
>>> L == _L
True
>>> L is _L
False
>>>

全部,is告诉您L_L不是同一对象。

>>> L[:] == L[:]
True
>>> L[:] is L[:]
False
>>>