按照lambda函数和多列进行分组
创始人
2024-08-24 11:30:17
0

在Python中,可以使用groupby函数和lambda函数来按照多列进行分组。

下面是一个示例代码:

from itertools import groupby

# 示例数据
data = [
    {'name': 'John', 'age': 25, 'city': 'New York'},
    {'name': 'Jane', 'age': 30, 'city': 'Boston'},
    {'name': 'Mike', 'age': 25, 'city': 'Chicago'},
    {'name': 'Mary', 'age': 30, 'city': 'Chicago'},
    {'name': 'David', 'age': 25, 'city': 'Boston'},
]

# 按照age和city进行分组
key_func = lambda x: (x['age'], x['city'])
data.sort(key=key_func)  # 需要先按照分组的列进行排序
groups = groupby(data, key_func)

# 遍历分组结果
for key, group in groups:
    print(f'Group: {key}')
    for item in group:
        print(item)
    print()

输出结果为:

Group: (25, 'Boston')
{'name': 'David', 'age': 25, 'city': 'Boston'}

Group: (25, 'Chicago')
{'name': 'Mike', 'age': 25, 'city': 'Chicago'}

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

Group: (30, 'Boston')
{'name': 'Jane', 'age': 30, 'city': 'Boston'}

Group: (30, 'Chicago')
{'name': 'Mary', 'age': 30, 'city': 'Chicago'}

在这个示例中,我们使用lambda函数key_funcdata中的字典按照agecity进行分组。首先,我们对data进行排序,以确保分组的数据是连续的。然后,我们使用groupby函数将数据按照key_func的返回值进行分组。最后,我们遍历分组结果并输出每个分组的内容。

相关内容

热门资讯

推荐十款!边锋麻将辅牌器(We... 推荐十款!边锋麻将辅牌器(Wepoke),太坑了其实真的有挂(有挂规律)-哔哩哔哩;科技安装教程;1...
科技揭秘!小程序边锋干瞪眼辅助... 科技揭秘!小程序边锋干瞪眼辅助app,aapoker透视方法,详细有挂(有挂教学)-哔哩哔哩;揭秘教...
透明私人局(aapoker有挂... WePoker透视辅助工具核心要点解析‌,透明私人局(aapoker有挂)外挂透明挂辅助工具(线上)...
透明总结!雀神广东麻将设置胜率... 透明总结!雀神广东麻将设置胜率(辅助挂)太坑了的确真的有挂(有挂技巧)-哔哩哔哩;小薇(透视辅助)致...
玩家实测!边锋麻将辅牌器,wp... 自定义边锋麻将辅牌器系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你...
透视真的!川麻圈辅助器手机版(... 透视真的!川麻圈辅助器手机版(wEpoke),太坑了果真是真的有挂(有挂总结)-哔哩哔哩1、完成川麻...
技巧知识分享(WPK透视)外挂... 技巧知识分享(WPK透视)外挂透明挂辅助工具(线上)透视辅助(2020已更新)(哔哩哔哩)是一款可以...
今日焦点!红河全民雀神开(辅助... 今日焦点!红河全民雀神开(辅助挂)太坑了其实是真的有挂(有挂攻略)-哔哩哔哩;红河全民雀神开是一种具...
一起来讨论!边锋老友棋牌一直输... 一起来讨论!边锋老友棋牌一直输,wepOKer可以透视,详细有挂(有挂方法)-哔哩哔哩;(需添加指定...
透视好牌!边锋老友麻将真的有挂... 透视好牌!边锋老友麻将真的有挂(wePOKE),太坑了其实是真的有挂(有挂技巧)-哔哩哔哩;1分钟了...