python group by函数
时间: 2023-09-08 19:14:45 浏览: 85
`groupby` 函数是 Python 内置的函数,它可以根据指定的键对可迭代对象进行分组。这个函数返回一个迭代器,迭代器的每个元素都是一个二元组,包含了分组的键和对应的分组结果。
下面是一个示例代码:
```python
from itertools import groupby
data = [
{'name': 'Alice', 'age': 25},
{'name': 'Bob', 'age': 30},
{'name': 'Charlie', 'age': 25},
{'name': 'Dave', 'age': 30},
{'name': 'Eve', 'age': 25}
]
# 按照年龄分组
data.sort(key=lambda x: x['age'])
groups = groupby(data, key=lambda x: x['age'])
for key, group in groups:
print(key)
for item in group:
print(item)
```
输出结果为:
```
25
{'name': 'Alice', 'age': 25}
{'name': 'Charlie', 'age': 25}
{'name': 'Eve', 'age': 25}
30
{'name': 'Bob', 'age': 30}
{'name': 'Dave', 'age': 30}
```
在上面的代码中,首先我们定义了一个列表 `data`,包含了一些字典元素。然后我们按照年龄对 `data` 进行排序,将其转换为一个按照年龄升序排列的列表。接着,我们使用 `groupby` 函数按照年龄对列表进行分组。`key` 参数指定了分组的键,也就是年龄。最后,我们使用 `for` 循环遍历分组后的结果,输出分组的键和对应的元素。
阅读全文