zoukankan      html  css  js  c++  java
  • python将多个dict转成list的合集

    无意间看博客看到pandas 和 reduce与lambda的用法,先mark一下

    1.pandas

    >>> import pandas as pd
    >>> data = [
        {'A': 'A1','B': 'B2','C': 'C3','D': 'D4'},
        {'A': 'AA1','C': 'CC3','D': 'DD4','E': 'EE5'},
        {'A': 'AAA1','B': 'BBB2','C': 'CCC3','D': 'DDD4','E': 'EEE5'}
    ]
    >>> df=pd.DataFrame(data).fillna('null')
    >>> ls=df.values.tolist()
    >>> ls.insert(0,df.columns.tolist())
    >>> ls
    [['A', 'B', 'C', 'D', 'E'], ['A1', 'B2', 'C3', 'D4', 'null'], ['AA1', 'null', 'CC3', 'DD4', 'EE5'], ['AAA1', 'BBB2', 'CCC3', 'DDD4', 'EEE5']]
    >>> 
    

    2.reduce

    data = [
        {'A': 'A1','B': 'B2','C': 'C3','D': 'D4'},
        {'A': 'AA1','C': 'CC3','D': 'DD4','E': 'EE5'},
        {'A': 'AAA1','B': 'BBB2','C': 'CCC3','D': 'DDD4','E': 'EEE5'}
    ]
    
    keys = set(reduce(lambda x, y: x + y, [_.keys() for _ in data]))
    
    lst = [[_[key] if key in _ else 'NULL' for key in keys] for _ in data]
    lst.insert(0, list(keys))
    
    print lst
    

    转载:https://segmentfault.com/q/1010000010362346

     
  • 相关阅读:
    (五)Redis在项目中应用
    股票收益最大问题
    (四)redigo
    (三)go-sql-driver
    为什么TCP要3次握手?4次挥手?
    分支预测
    事务隔离级别说明
    剑指offer解题思路锦集11-20题
    C++中的二义性问题
    memcached Vs redis
  • 原文地址:https://www.cnblogs.com/mologa-jie/p/7661115.html
Copyright © 2011-2022 走看看