Skip to content Skip to sidebar Skip to footer

Python - Converting Nested List Into Dictionary

I have a nested list , how do I convert this into a dictionary data = [['Employee','Salary','Age','Gender'],['001',1200,25,'M'],['002',1300,28,'M'],['003',1400,32,'M'],['004',1700,

Solution 1:

One way is to use zip, which iterates through i th element of each list sequentially:

data = [["Employee","Salary","Age","Gender"],
        ["001",1200,25,"M"],
        ["002",1300,28,"M"],
        ["003",1400,32,"M"],
        ["004",1700,44,"F"]]

d = {k: v for k, *v in zip(*data)}

Unpacking via *v, as suggested by @Jean-FrançoisFabre, ensures your values are lists.

Result

{'Age': [25, 28, 32, 44],
 'Employee': ['001', '002', '003', '004'],
 'Gender': ['M', 'M', 'M', 'F'],
 'Salary': [1200, 1300, 1400, 1700]}

Another way is to use pandas:

import pandas as pd

df = pd.DataFrame(data[1:], columns=data[0]).to_dict('list')

# {'Age': [25, 28, 32, 44],
#  'Employee': ['001', '002', '003', '004'],
#  'Gender': ['M', 'M', 'M', 'F'],
#  'Salary': [1200, 1300, 1400, 1700]}

Post a Comment for "Python - Converting Nested List Into Dictionary"