最近工作中遇到了一个需求,需要将一个列表中的嵌套字典,根据字典的某个value来做分组
如下
a = [{"name": 'tom', "age": '18'}, {"name": "jack", "age": "42"}, {"key": "lily", "age": "18"}]
需要把age相同的字典分组取出来
解决方案
from itertools import groupby
from operator import itemgetter
rows = [{"name": 'tom', "age": 1}, {"name": "jack", "age": 12}, {"name": "lily", "age": 12}]
for date, items in groupby(rows, key=itemgetter('')):
print(date,list(items))
cookies
在完成到这一步的时候,发现在最后for循环中取item的值的时候,取到的内容为空,觉得是内置模块实现过程中有对items进行操作,所以进行一次深拷贝解决问题
from itertools import groupby
from operator import itemgetter
import copy
rows = [{"name": 'tom', "age": 1}, {"name": "jack", "age": 12}, {"name": "lily", "age": 12}]
for date, items in groupby(rows, key=itemgetter('')):
items = copy.deepcopy(items)
print(date,list(items))
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!