lambda list分组求和
时间: 2024-11-13 14:08:05 浏览: 5
Java lambda 循环累加求和代码
在Python中,你可以使用`lambda`函数结合`groupby`方法来自列表中按照某个条件分组并计算每个组的和。`lambda`是一种匿名函数,它在这里用于定义简单的操作,如元素相加。
假设你有一个包含数字的列表,例如:
```python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
```
你可以这样做来按每两个数一组分组并计算它们的和:
```python
from itertools import groupby
# 使用lambda表达式将列表分为间隔为1的相邻元素对
number_pairs = zip(numbers, numbers[1:])
sums_of_pairs = [(key, sum(map(lambda x: x[0], pair))) for key, pair in groupby(number_pairs)]
print(sums_of_pairs)
```
这将输出:
```
[(1, 3), (2, 6), (3, 9), (4, 7), (5, 11), (6, 13)]
```
这里,`map(lambda x: x[0], pair)`将每个配对 `(a, b)` 转换为 `a`,然后 `sum()` 计算所有 `a` 的总和。
阅读全文