Python编程:itemgetter获取字典元素和groupby分组

举报
彭世瑜 发表于 2021/08/14 00:24:39 2021/08/14
【摘要】 itemgetter获取字典元素 groupby分组 代码示例 from itertools import groupby from operator import itemgetter d1 = {"name": "Tom", "age": 23, "country": "cn"} d2 = {"name": "Jimi", "age": 21, "countr...

itemgetter获取字典元素
groupby分组

代码示例

from itertools import groupby
from operator import itemgetter

d1 = {"name": "Tom", "age": 23, "country": "cn"}
d2 = {"name": "Jimi", "age": 21, "country": "en"}
d3 = {"name": "Tomy", "age": 22, "country": "usa"}
d4 = {"name": "Mimi", "age": 23, "country": "cn"}
d5 = {"name": "Jack", "age": 24, "country": "en"}

lst = [d1, d2, d3, d4, d5]

# 排序
lst.sort(key=itemgetter("country"))
# lst.sort(key=lambda x: x["country"])
for d in lst: print(d)
"""
{'name': 'Tom', 'age': 23, 'country': 'cn'}
{'name': 'Mimi', 'age': 23, 'country': 'cn'}
{'name': 'Jimi', 'age': 21, 'country': 'en'}
{'name': 'Jack', 'age': 24, 'country': 'en'}
{'name': 'Tomy', 'age': 22, 'country': 'usa'}
"""

# 分组
groups = groupby(lst, key=itemgetter("country"))
# groups = groupby(lst, key=lambda x: x["country"])
for key, group in groups: print(key) for g in group: print("\t", g)

"""
cn
	 {'name': 'Tom', 'age': 23, 'country': 'cn'}
	 {'name': 'Mimi', 'age': 23, 'country': 'cn'}
en
	 {'name': 'Jimi', 'age': 21, 'country': 'en'}
	 {'name': 'Jack', 'age': 24, 'country': 'en'}
usa
	 {'name': 'Tomy', 'age': 22, 'country': 'usa'}
"""

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

参考
Python中的分组函数(groupby、itertools)

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/84205629

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。