在列表中的每个第n个值上执行算术运算的最有效方式是什么?例如,如果我从list1开始:
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我想在第二个项目中添加1,这样可以得出:
list2 = [1, 3, 3, 5, 5, 7, 7, 9, 9, 11]
我试过了:
list1[::2]+1
并且:
for x in list1: x=2 list2 = list1[::x] + 1
您可以slicing按如下方式使用列表理解:
slicing
In [26]: list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] In [27]: list1[1::2] = [x+1 for x in list1[1::2]] In [28]: list1 Out[28]: [1, 3, 3, 5, 5, 7, 7, 9, 9, 11]