zoukankan      html  css  js  c++  java
  • python groupby

     1 from itertools import groupby
     2 
     3 bom = [dict(bomNo="BOM201704030002", parentItemNo="04.01.00001", childItemNo="02.11.00008"),
     4        dict(bomNo="BOM201704030004", parentItemNo="03.08.10.00002", childItemNo="03.02.04.00002"),
     5        dict(bomNo="BOM201704030002", parentItemNo="04.01.00001", childItemNo="03.08.10.00001"),
     6        dict(bomNo="BOM201704030004", parentItemNo="03.08.10.00002", childItemNo="03.05.05.00001"),
     7        dict(bomNo="BOM201704030002", parentItemNo="04.01.00001", childItemNo="02.04.00001"),
     8        dict(bomNo="BOM201704030004", parentItemNo="03.08.10.00002", childItemNo="03.09.10.00001"),]
     9 bom.sort(key= lambda x: x['bomNo'])
    10 
    11 for k, grp in groupby(bom, key=lambda x: x["bomNo"]):
    12     print("----", k, "----")
    13     for item in grp:
    14         print(item)

    output:

     1 "C:Program FilesPython35python.exe" C:/Users/jonney/Desktop/untitled/test.py
     2 ---- BOM201704030002 ----
     3 {'parentItemNo': '04.01.00001', 'bomNo': 'BOM201704030002', 'childItemNo': '02.11.00008'}
     4 {'parentItemNo': '04.01.00001', 'bomNo': 'BOM201704030002', 'childItemNo': '03.08.10.00001'}
     5 {'parentItemNo': '04.01.00001', 'bomNo': 'BOM201704030002', 'childItemNo': '02.04.00001'}
     6 ---- BOM201704030004 ----
     7 {'parentItemNo': '03.08.10.00002', 'bomNo': 'BOM201704030004', 'childItemNo': '03.02.04.00002'}
     8 {'parentItemNo': '03.08.10.00002', 'bomNo': 'BOM201704030004', 'childItemNo': '03.05.05.00001'}
     9 {'parentItemNo': '03.08.10.00002', 'bomNo': 'BOM201704030004', 'childItemNo': '03.09.10.00001'}
    10 
    11 Process finished with exit code 0
  • 相关阅读:
    JVM底层原理 内存模型+GC垃圾回收
    新Socket与网络小结
    Redis五大数据结构及基本指令用法
    MySql高级汇总-事务,索引,SQL调优,分库分表,读写分离
    笔试错题整理
    设计模式(思路)
    网络编程
    linux
    基础算法--KMP匹配字符串
    基础算法--整数二分
  • 原文地址:https://www.cnblogs.com/jonney-wang/p/7040534.html
Copyright © 2011-2022 走看看