是否可以在 Python 中递增列表的一部分?
Is it possible to increment a slice of a list in Python?
我有一个列表说,l=[1,2,3,4,5,6,7]
。现在,我想增加给定索引 l
和 r
.
中的所有元素
如果 l==2
和 r==5
列表应该是 [1,2,4,5,6,7,7]
。
我可以用 "for loop" 运行 从 l
到 r
来做到这一点。但是有什么办法可以在更短的时间内完成吗?
您可以使用切片分配和列表理解:
>>> li= [1,2,3,4,5,6,7]
>>> li[l:r+1]= [v+1 for v in li[l:r+1]]
>>> li
[1, 2, 4, 5, 6, 7, 7]
我有一个列表说,l=[1,2,3,4,5,6,7]
。现在,我想增加给定索引 l
和 r
.
如果 l==2
和 r==5
列表应该是 [1,2,4,5,6,7,7]
。
我可以用 "for loop" 运行 从 l
到 r
来做到这一点。但是有什么办法可以在更短的时间内完成吗?
您可以使用切片分配和列表理解:
>>> li= [1,2,3,4,5,6,7]
>>> li[l:r+1]= [v+1 for v in li[l:r+1]]
>>> li
[1, 2, 4, 5, 6, 7, 7]