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)
我正在寻找一种更优雅的方式来做到这一点.
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)