Python如何实现列表内相邻元素相加得到目标新列表
Python实现列表相邻元素求和方案
给定列表 A = [10,20,30,40],以下3种方式都可以得到目标结果[30,50,70]:
- 方法1:zip配对法(写法最简洁易读)
A = [10,20,30,40] result = [x + y for x, y in zip(A, A[1:])]
原理:A[1:]是去掉第一个元素的新列表,用zip将原列表和偏移一位的列表逐位配对,刚好得到所有相邻元素对,遍历求和即可。
- 方法2:普通for循环实现(新手易理解)
A = [10,20,30,40] result = [] for i in range(len(A)-1): result.append(A[i] + A[i+1])
原理:遍历索引从0到列表长度-2的位置,依次取当前索引和下一个索引的元素相加,存入结果列表。
- 方法3:简化列表推导式写法
A = [10,20,30,40] result = [A[i] + A[i+1] for i in range(len(A)-1)]
本质和普通for循环逻辑一致,只是简化了写法。
所有方法执行后打印result均可得到输出 [30, 50, 70]。
内容的提问来源于stack exchange,提问作者Nael Jn Baptiste -aka Analyze
相关产品推荐
相关产品推荐

