所有切片操作都返回一个新列表?

时间:2013-12-06 11:26:08

标签: python python-2.7 slice

在Python教程中,它被称为“所有切片操作返回包含所请求元素的新列表”。

>>>a = ['spam', 'eggs', 100, 1234]
>>>a[0:2] = [1, 12]
>>> a
[1, 12, 100, 1234]

如果所有切片操作都返回一个新列表,那么在此示例中如何更改列表 a ?似乎只有右侧的切片操作会返回一个新列表。

更新

我指的是Python中的[:]究竟是什么,参考到新列表或参考到列表的某些部分 a 或其他任何东西。我对基础级别实现感兴趣而不是行为。

2 个答案:

答案 0 :(得分:4)

这是切片:

b = a[0:2]

这就是切片分配:

a[0:2] = b

他们是不同的。后者将用{b}的值替换a slice 部分。它们看起来非常相似,但使用上有所不同。

答案 1 :(得分:1)

' ='是为了分配。并且您在方括号中提供位置。