Making Dictionaries from three Lists and appending them to a List

Viewed 30

I have three lists:

titles = ['Title A', 'Title B', 'Title C']
scores = [10, 20, 30]
urls = ['url1.com', 'url2.com', 'url3.com']

I am trying to make a list containing dictionaries from the data of the three lists above. My goal is something like this:

[
 {
  'Title': 'Title A',
  'Score': 10,
  'URL': 'url1.com'
 },
 {
  'Title': 'Title B',
  'Score': 20,
  'URL': 'url2.com'
 },
 {
  'Title': 'Title C',
  'Score': 30,
  'URL': 'url3.com'
 }
]

How can I achieve this?

1 Answers

You can use zip() and list comprehension:

titles = ["Title A", "Title B", "Title C"]
scores = [10, 20, 30]
urls = ["url1.com", "url2.com", "url3.com"]

out = [dict(Title=t, Score=s, URL=u) for t, s, u in zip(titles, scores, urls)]
print(out)

Prints:

[{'Title': 'Title A', 'Score': 10, 'URL': 'url1.com'}, 
 {'Title': 'Title B', 'Score': 20, 'URL': 'url2.com'}, 
 {'Title': 'Title C', 'Score': 30, 'URL': 'url3.com'}]
Related