python里的groupby函数
时间: 2023-08-26 22:11:08 浏览: 129
在 Python 中,`groupby` 函数是 `itertools` 模块中的一个函数,用于对可迭代对象进行分组。
`groupby` 函数接受两个参数:可迭代对象和一个用于分组的键函数(可选)。它返回一个迭代器,该迭代器生成元组 `(key, group)`,其中 `key` 是分组的键值,`group` 是相应的分组。
以下是一个示例代码:
```python
from itertools import groupby
# 定义一个列表
pets = [
{'name': 'Dog', 'age': 3},
{'name': 'Cat', 'age': 2},
{'name': 'Dog', 'age': 5},
{'name': 'Cat', 'age': 4},
]
# 按照 name 进行分组
grouped_pets = groupby(pets, key=lambda x: x['name'])
# 遍历分组结果
for key, group in grouped_pets:
print(key)
for pet in group:
print(pet)
print()
```
输出结果如下:
```
Dog
{'name': 'Dog', 'age': 3}
{'name': 'Dog', 'age': 5}
Cat
{'name': 'Cat', 'age': 2}
{'name': 'Cat', 'age': 4}
```
在这个例子中,我们使用 `groupby` 函数按照 `name` 字段对 `pets` 列表进行分组。然后我们遍历分组结果,打印每个分组的键值和相应的元素。
阅读全文