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
  • 相关阅读:
    加载db2的驱动类,连接数据库URL下的特定schema并插入数据
    vi修改编辑文件提示Write Error!(File System full?)研究与解决
    java实现一次性压缩多个文件
    java转义字符
    统计数字问题0
    系统开关机
    统计数字问题1
    算法的力量
    半数集0
    wBox是一款轻量级的弹出窗口插件
  • 原文地址:https://www.cnblogs.com/jonney-wang/p/7040534.html
Copyright © 2011-2022 走看看