python - 如何在列表的不同部分执行特定操作?
问题描述
(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]]
感谢您的帮助!
解决方案
您可以执行以下操作:
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
推荐阅读
- javascript - 比较 .where() 中的 Firestore 时间戳不起作用
- python - InvalidArgumentError:[0, 0] 中的预期大小 [0],但得到 1
- sql - 在 ClickHouse 中使用 has(x,y) 函数优化 Array 类型列的数据查找
- arrays - 基于scala中的条件的数组过滤
- doxygen - Cpp文件Doxygen中的静态函数
- c# - 使用 .Net Framework 4.0 的 C# 调用图 API
- angular - 使用 QueryList 访问 ContentChildren 中的 HTMLButtonElement
- javascript - 无法在反应中导入模块
- ansible - 如何在ansible中限制set_fact变量的范围
- php - php 不使用 file.php?data=value 将数据添加到数据库