美文网首页
将列表中嵌套的字典按照key值分组

将列表中嵌套的字典按照key值分组

作者: 葡萄柚子茶 | 来源:发表于2019-11-01 16:05 被阅读0次

必须先将字典中的值排序,然后才能用groupby

itemgetteroperator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些索引或键值。

用法示例:

from operator import itemgetter

ll = [1, 2, 3]
dd = {'name': 'mxt', 'age': 18, 'gender': 'female'}

func1 = itemgetter(1)  # 定义函数,获取对象第1个域的值
res1 = func1(ll)  # 2 <class 'int'>

func2 = itemgetter(0, 2)  # 定义函数,获取对象第0个域和第2个的值
res2 = func2(ll)  # (1, 3) <class 'tuple'>

func3 = itemgetter('name')
res3 = func3(dd)  # mxt <class 'str'>

func4 = itemgetter('name', 'gender')
res4 = func4(dd)  # ('mxt', 'female') <class 'tuple'>

注意:operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。

from itertools import groupby
from operator import itemgetter
    # result的值
    #[{'user_name': '阿里云', 'operation_type': 'add', 'price': Decimal('1111.00'), 'date_created': datetime.datetime(2019, 10, 30, 15, 26, 52)},
    # {'user_name': '腾讯', 'operation_type': 'add', 'price': Decimal('2222.00'), 'date_created': datetime.datetime(2019, 10, 31, 13, 45, 26)},
    # {'user_name': '阿里云', 'operation_type': 'renew', 'price': Decimal('1234.00'), 'date_created': datetime.datetime(2019, 10, 16, 13, 58, 50)}]

    data = sorted(results, key=lambda x: x['user_name'])

    for vendor_name, items in groupby(data, key=itemgetter('user_name')):
        print(vendor_name, list(items))

结果打印如下:

腾讯 [{'user_name': '腾讯', 'operation_type': 'add', 'price': Decimal('2222.00'), 'date_created': datetime.datetime(2019, 10, 31, 13, 45, 26)}]
阿里云 [{'user_name': '阿里云', 'operation_type': 'add', 'price': Decimal('1111.00'), 'date_created': datetime.datetime(2019, 10, 30, 15, 26, 52)}, {'user_name': '阿里云', 'operation_type': 'renew', 'price': Decimal('1234.00'), 'date_created': datetime.datetime(2019, 10, 16, 13, 58, 50)}]

相关文章

  • 将列表中嵌套的字典按照key值分组

    必须先将字典中的值排序,然后才能用groupby itemgetteroperator模块提供的itemgette...

  • python(7):字典(2)

    1.嵌套 将一系列字典存贮再列表中,或将列表作为值存贮在字典中,称为嵌套。可以在列表中嵌套字典,字典中嵌套列表,字...

  • Python:嵌套

    1.在列表中嵌套字典 字典列表:将字典存储在列表中 2.在字典中嵌套列表 将列表存储在字典中每当需要在字典中讲一个...

  • 数据结构 | 字典 (下)

    字典推导式 合并大小写key的值。 更换字典中key和value的值。 从字典中提取子集。 根据记录进行分组 将字...

  • 说说 Python 的嵌套式数据结构

    嵌套式数据结构指的是:字典存储在列表中, 或者列表作为值存储在字典中。甚至还可以在字典中嵌套字典。 1 字典列表 ...

  • 5.3 for 语句

    常用语句 列表循环,列表可做切片 字段循环,可打打印字典key值 嵌套 for 循环

  • 实现有序字典

    实现字典有序化的方法 分类添加数组变量存储key值; 按照NSDictionary的key来进行排序; 将字典中的...

  • 列表,字典排序

    列表嵌套字典,根据字典某一key排序python sort、sorted高级排序技巧(key的使用)Python要...

  • Python3:列表、字典、元组

    列表的深复制与浅复制 字典的遍历 遍历键 遍历值 遍历键值对 按顺序遍历字典中的键、值 字典与列表相互嵌套 字典列...

  • 【Python】字典dict

    字典特点 用{}来表示,按照key:value来表示字典中的元素,其中key是键,value是值,key-valu...

网友评论

      本文标题:将列表中嵌套的字典按照key值分组

      本文链接:https://www.haomeiwen.com/subject/xutqbctx.html