更新列表切片的更优雅方式

Gre*_*reg 2 python iteration list

给定一个列表,我想将一组操作应用于列表的子集(切片),并将每个转换的结果存储在原始列表中.

我的背景是在Ada,这导致我犯了以下错误:

Number_List = [0,1,2,3,4,5,6,7,8,9]
for Index, Number in enumerate(Number_List[1:]):
  Number_List[Index] = Number + 1
Run Code Online (Sandbox Code Playgroud)

给出一个新的Number_List:2,3,4,5,6,7,8,9,10,9并告诉我一个数组的片被重新索引为0.

我已经转移到以下,这是繁琐但功能性的.

Number_List = [0,1,2,3,4,5,6,7,8,9]
for Index in range(1,len(Number_List))
  Number_List[Index] = Number_List[Index]+1
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更优雅的方式来做到这一点.

Joc*_*zel 8

enumerate采用一个start参数:

Number_List = [0,1,2,3,4,5,6,7,8,9]
for Index, Number in enumerate(Number_List[1:], start=1):
  Number_List[Index] = Number + 1
Run Code Online (Sandbox Code Playgroud)

你也可以写

Number_List[1:] = [x+1 for x in Number_List[1:]]
Run Code Online (Sandbox Code Playgroud)