按元组值对字典列表进行分组
创始人
2024-08-23 02:00:07
0

下面是一个示例代码,演示如何按元组值对字典列表进行分组:

from itertools import groupby

# 定义一个字典列表
data = [
    {"name": "John", "age": 25},
    {"name": "Emily", "age": 30},
    {"name": "Mark", "age": 25},
    {"name": "Anna", "age": 30},
    {"name": "Eric", "age": 25}
]

# 按元组值对字典列表进行分组
data.sort(key=lambda x: (x['age'], x['name']))  # 先按年龄排序,在按名字排序
grouped_data = groupby(data, key=lambda x: (x['age'], x['name']))  # 根据年龄和名字分组

# 打印分组结果
for key, group in grouped_data:
    print(f"Group {key}:")
    for item in group:
        print(item)
    print()

运行上述代码的输出结果将是:

Group (25, 'Eric'):
{'name': 'Eric', 'age': 25}

Group (25, 'John'):
{'name': 'John', 'age': 25}

Group (25, 'Mark'):
{'name': 'Mark', 'age': 25}

Group (30, 'Anna'):
{'name': 'Anna', 'age': 30}

Group (30, 'Emily'):
{'name': 'Emily', 'age': 30}

代码中使用了itertools模块的groupby函数,该函数接收一个可迭代对象和一个可选的关键字函数,返回一个生成器,生成按照关键字函数分组后的元素。在这里,我们使用了一个lambda函数作为关键字函数,根据字典的agename值来分组字典列表。

相关内容

热门资讯

透视能赢!德普之星透视(透视)... 透视能赢!德普之星透视(透视)透视(确实存在有挂)1、任何德普之星透视ai辅助神器的玩家都可以机会成...
透视辅助!aapoker免费透... 透视辅助!aapoker免费透视脚本(透视)发牌逻辑(竟然有挂)1、该软件可以轻松地帮助玩家将aap...
透视系统!德普之星透视辅助插件... 透视系统!德普之星透视辅助插件(透视)透视辅助软件下载(竟然真的是有挂)1、德普之星透视辅助插件系统...
透视黑科技!aapoker辅助... 透视黑科技!aapoker辅助怎么用(透视)ai插件(确实存在有挂)1、玩家可以在aapoker辅助...
透视代打!德普之星有透视辅助吗... 透视代打!德普之星有透视辅助吗(透视)透视辅助插件(果然是有挂);1、德普之星有透视辅助吗系统规律教...
透视辅助!aapoker怎么设... 透视辅助!aapoker怎么设置提高好牌几率(透视)透视脚本下载(确实是真的有挂)1、aapoker...
透视ai!如何下载德普之星辅助... 透视ai!如何下载德普之星辅助软件(透视)透视免费(都是真的是有挂)1、如何下载德普之星辅助软件系统...
透视科技!aapoker安装包... 透视科技!aapoker安装包怎么使用(透视)插件下载(都是真的有挂)1、aapoker安装包怎么使...
透视模拟器!德普之星辅助软件(... 透视模拟器!德普之星辅助软件(透视)透视(竟然是真的有挂)1、德普之星辅助软件透视辅助简单,德普之星...
透视模拟器!aapoker怎么... 透视模拟器!aapoker怎么选牌(透视)万能辅助器(果然真的是有挂);1)aapoker怎么选牌辅...