以下是一个示例代码,可以按字段的部分进行分组:
from itertools import groupby
# 示例数据
data = [
{'name': 'Alice', 'age': 25, 'gender': 'female'},
{'name': 'Bob', 'age': 30, 'gender': 'male'},
{'name': 'Charlie', 'age': 25, 'gender': 'male'},
{'name': 'David', 'age': 35, 'gender': 'male'},
{'name': 'Eve', 'age': 30, 'gender': 'female'},
]
# 按年龄进行分组
data.sort(key=lambda x: x['age'])
groups = groupby(data, key=lambda x: x['age'])
# 打印分组结果
for age, group in groups:
print(f"Age: {age}")
for person in group:
print(f"\tName: {person['name']}, Gender: {person['gender']}")
输出结果如下:
Age: 25
Name: Alice, Gender: female
Name: Charlie, Gender: male
Age: 30
Name: Bob, Gender: male
Name: Eve, Gender: female
Age: 35
Name: David, Gender: male
以上代码首先按照年龄对数据进行排序,然后使用groupby
函数按照年龄进行分组。最后,将每个分组的结果打印出来。
上一篇:按字段拆分向量,保持顺序