是否可以使用切片表示法设置多个列表元素而无需插入新元素?

时间:2014-09-01 23:07:46

标签: python slice

我尝试使用切片表示法在列表中设置多个元素。例如,我想分别将a的第2和第3个元素设置为100200

a[1:2] = [100, 200]

但是将第二个元素设置为100并插入200而不是替换第三个元素。这在Python中是否可行(如果重要的话,使用Python 2.7)?我可以很容易地迭代,但我想要一个更优雅的Pythonic解决方案(即使它可能被认为不太可读)。

>>> a=[0]*4
>>> a
[0, 0, 0, 0]
>>> a[1:2] = [100,200]
>>> a
[0, 100, 200, 0, 0]
>>> 

1 个答案:

答案 0 :(得分:8)

您打算a[1:3],而不是a[1:2]。请注意rules on Python slice indexing:切片[start:end]start转到end-1

a=[0]*4
a[1:3] = [100,200]
a
# [0, 100, 200, 0]