我尝试使用切片表示法在列表中设置多个元素。例如,我想分别将a
的第2和第3个元素设置为100
和200
:
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]
>>>
答案 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]