在Python中为列表的一部分添加偏移量?

Sib*_*ing 2 python arrays numpy list scipy

我有一个列表a = [1, 2, 3, 4, 5],现在我想添加一个1从每个元素index 2开始,即a[2] + 1,a[3] + 1,a[4] + 1.

这就是我a = [1, 2, 4, 5, 6]最终想要的.

什么是最像Pythonic的东方

fal*_*tru 8

>>> a = [1, 2, 3, 4, 5]
>>> a[2:] = [x+1 for x in a[2:]]
>>> a
[1, 2, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

对于numpy数组:

>>> a = np.array([1,2,3,4,5])
>>> a[2:] += 1
>>> a
array([1, 2, 4, 5, 6])
Run Code Online (Sandbox Code Playgroud)