按元组值对字典列表进行分组
创始人
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值来分组字典列表。

相关内容

热门资讯

德扑之星辅助器购买!微扑克到底... 德扑之星辅助器购买!微扑克到底有没有辅助器,wepoke透明真的,详细教程(有挂介绍)是一款可以让一...
智星德州菠萝开挂!wpk俱乐部... 智星德州菠萝开挂!wpk俱乐部机器人,fish poker外挂,必胜教程(有挂详情)1、金币登录送、...
微扑克辅助机器人!wepoke... 微扑克辅助机器人!wepoke智能ai,德州wpk辅助真的,细节方法(有挂详情)您好,微扑克辅助机器...
wpk透视辅助工具!德州之星a... wpk透视辅助工具!德州之星app辅助器怎么用,aapoker德州俱乐部,软件教程(有挂黑科技)是一...
德扑之星猫腻!众合推扑克有没有... 德扑之星猫腻!众合推扑克有没有辅助,gg扑克有问题,必胜教程(有挂教程)1、许多玩家不知道德扑之星猫...
德州之星有辅助挂!wpk透明挂... 德州之星有辅助挂!wpk透明挂,红龙poker正规,必赢教程(有挂介绍)是一款可以让一直输的玩家,快...
aapoker辅助工具!德扑胜... aapoker辅助工具!德扑胜率计算的软件,德扑之星可以让系统给好牌,新2025教程(有挂详情);人...
wpk发牌逻辑!约局吧辅助工具... wpk发牌逻辑!约局吧辅助工具获取方法,德扑之星软件介绍,解密教程(有挂黑科技)1、很好的工具软件,...
wepoke计算辅助!德州ai... wepoke计算辅助!德州ai辅助器,wopoker手机辅助,插件教程(有挂技巧)是一款可以让一直输...
德州之星插件!wepoke有挂... 德州之星插件!wepoke有挂吗网上,wepoke有插件,解说技巧(有挂技巧)1、在德州之星插件ai...