我不太明白这是怎么回事
a=[1,2,3,4]
b=[5,6,7,8]a[len(a):] = b似乎等同于a.extend(b)。当我说a[(len(a):]时,不是指a[4:<end of list a>] = b吗?
`a=b中没有任何内容,
[]
为什么我会得到[1,2,3,4,5,6,7,8]作为结果?
发布于 2012-04-03 09:33:19
切片赋值可用于将一个序列插入到另一个序列中(可变)。
>>> a = [1, 2, 3]
>>> a[1:1] = [4, 5]
>>> a
[1, 4, 5, 2, 3]您的示例只是在末尾插入的一个实例。
发布于 2012-04-03 09:37:28
切片表示法是[start : stop]。对列表切片(如[start:] )的赋值会导致它在索引start处插入右侧的序列。但是因为切片没有stop部分,所以它总是会添加整个序列(没有上限)。
在本例中,您在索引4处插入,而索引4还不存在,所以它将其插入到原始序列的末尾。
https://stackoverflow.com/questions/9985995
复制相似问题