首页 > 解决方案 > 从三个列表制作字典并将它们附加到一个列表

问题描述

我有三个列表:

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

我正在尝试从上面三个列表的数据中创建一个包含字典的列表。我的目标是这样的:

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

我怎样才能做到这一点?

标签: pythonlistdictionary

解决方案


您可以使用zip()并列出理解:

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)

印刷:

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

推荐阅读