Skip to content Skip to sidebar Skip to footer

Python Convert Multiple Lists To Dictionary

I have 3 lists: names = ['john', 'paul', 'george', 'ringo'] job = ['guitar', 'bass', 'guitar', 'drums'] status = ['dead', 'alive', 'dead', 'alive'] I am trying to figure out the b

Solution 1:

I think what you want is a list of dictionaries. You can zip your three lists together and use a list comprehension. Here's an example:

[{'name': name, 'job': job, 'status': status} for name,job,statusin zip(names,jobs,statuses)]

(also renaming your job to jobs and status to statuses)

Which will give you:

[
  {'name': 'john', 'job': 'guitar', 'status': 'dead'},
  {'name': 'paul', 'job': 'bass', 'status': 'alive'},
  {'name': 'george', 'job': 'guitar', 'status': 'dead'},
  {'name': 'ringo', 'job': 'drums', 'status': 'alive'}
]

Solution 2:

I think this is what you are looking for:

>>> names = ["john", "paul", "george", "ringo"]
>>> job = ["guitar", "bass", "guitar", "drums"]
>>> status = ["dead", "alive", "dead", "alive"]
>>> persons = []
>>> for n, j, s inzip(names, job, status):
...    person = { 'name': n, 'job': j, 'status': s }
...    persons.append(person)
...
>>> persons
[{'status': 'dead', 'job': 'guitar', 'name': 'john'}, {'status': 'alive', 'job': 'bass', 'name': 'paul'}, {'status': 'dead', 'job': 'guitar', 'name': 'george'}, {'status': 'alive', 'job': 'drums', 'name': 'ringo'}]
>>>

Post a Comment for "Python Convert Multiple Lists To Dictionary"