对列表中的每个第n个值执行算术运算的最简单的方法是什么?例如,如果我从列表1开始:

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

我想在每一个第二项中添加一个,它将给出:
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进行如下列表理解:

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]

关于python - 编辑列表中每个第N项的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36011478/

10-12 23:10