Skip to content Skip to sidebar Skip to footer

Convert List Of Lists To List Of Dictionaries

I want to convert a list of lists to a list of dictionaries. I have a way to do it but I suspect there's a better way: t = [[1,2,3], [4,5,6]] keys = ['a', 'b', 'c'] [{keys[0]:l[0],

Solution 1:

You can use list comprehension with the dict() constructor and zip:

[dict(zip(keys, l)) for l in t ]

Demo

>>> d = [dict(zip(keys, l)) for l in t ]
>>>
>>> d
[{'a': 1, 'c': 3, 'b': 2}, {'a': 4, 'c': 6, 'b': 5}]
>>> 

Solution 2:

It can also be solved with a dictionary comprehension, this way:

>>> [{k:v for k,v in zip(keys, l)} for l in t][{'c': 3, 'b': 2, 'a': 1}, {'c': 6, 'b': 5, 'a': 4}]

Post a Comment for "Convert List Of Lists To List Of Dictionaries"