首页 > 解决方案 > 如何在列表的不同部分执行特定操作?

问题描述

(Python)嘿,如何分隔列表的不同值如下?

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

进入

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

然后执行加法,结果列表为:

list3=[[3],[7],[11],[15],[19]]

感谢您的帮助!

标签: pythonpython-3.xlist

解决方案


您可以执行以下操作:

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

it = iter(list1)
list2 = list(zip(it, it))
# alternative using slices:
# list2 = [list1[i:i+2] for i in range(0, len(list1), 2)]

list3 = [[a+b] for a, b in list2]

或者一步完成:

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
it = iter(list1)
list3 = [[sum(l)] for l in zip(it, it)]
# or flat:
# list3 = list(map(sum, zip(it, it)))  # flat

推荐阅读