Extract all keys from a list of dictionaries

前端 未结 6 780
遇见更好的自我
遇见更好的自我 2020-12-08 03:58

I\'m trying to get a list of all keys in a list of dictionaries in order to fill out the fieldnames argument for csv.DictWriter.

previously, I had something like thi

6条回答
  •  南笙
    南笙 (楼主)
    2020-12-08 04:40

    from itertools import chain
    
    lis = [
        {"name": "Tom", "age": 10},
        {"name": "Mark", "age": 5, "height":4},
        {"name": "Pam", "age": 7, "weight":90}
    ]
    
    # without qualification a dict iterates over its keys
    # and set takes any iterable in its constructor
    headers_as_set = set(chain.from_iterable(lis))
    
    # you asked for a list
    headers = list(
        set(chain.from_iterable(lis))
    )
    

提交回复
热议问题