如何在Python中使用lambda函数进行分组?

2023-03-14 00:00:00 函数 分组 如何在

在Python中,您可以使用lambda函数进行分组,具体方法如下:

假设您有一个列表,其中包含字典对象。每个字典都包含一些键值对,其中一个键是“group”。您可以使用lambda函数和内置的groupby函数将字典按组分组。示例代码如下:

from itertools import groupby

# 假设您有一个包含字典对象的列表
dict_list = [{'name': 'Alice', 'group': 'A'},
             {'name': 'Bob', 'group': 'B'},
             {'name': 'Charlie', 'group': 'A'},
             {'name': 'David', 'group': 'B'},
             {'name': 'Eve', 'group': 'A'},
             {'name': 'Frank', 'group': 'C'}]

# 使用lambda函数将字典按组分组
grouped_dict = groupby(dict_list, lambda x: x['group'])

# 遍历每个组并打印组的成员
for key, group in grouped_dict:
    print(key)
    for member in group:
        print(member)

在上面的代码中,lambda函数用于从每个字典对象中提取“group”键的值,并将字典按照“group”键的值分组。groupby函数返回一个迭代器,其中每个元素都是由键和相应的分组迭代器组成的元组。然后,您可以使用for循环遍历每个组并打印每个组的成员。

在上面的示例中,输出将如下所示:

A
{'name': 'Alice', 'group': 'A'}
{'name': 'Charlie', 'group': 'A'}
{'name': 'Eve', 'group': 'A'}
B
{'name': 'Bob', 'group': 'B'}
{'name': 'David', 'group': 'B'}
C
{'name': 'Frank', 'group': 'C'}

相关文章