Python将多个列表转换为字典

bab*_*y92 2 python dictionary list

我有 3 个列表:

names = ["john", "paul", "george", "ringo"]
job = ["guitar", "bass", "guitar", "drums"]
status = ["dead", "alive", "dead", "alive"]
Run Code Online (Sandbox Code Playgroud)

我试图找出将这些列表组合成如下 dict 的最佳方法:

{"person":{"Name":"john", "Job":"guitar", "Status":"dead"}, "person":{"Name":"paul", "Job":"bass", "Status":"alive"}, "person":{"Name":"george", "Job":"guitar", "Status":"dead"}, "person":{"Name":"ringo", "Job":"drums", "Status":"alive"}}
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用 dict(zip) 但无法将其格式化为上述格式。

提前致谢!

Hen*_*ody 9

我想你想要的是一个字典列表。您可以zip将三个列表放在一起并使用列表理解。下面是一个例子:

[{'name': name, 'job': job, 'status': status} for name,job,status in zip(names,jobs,statuses)]
Run Code Online (Sandbox Code Playgroud)

(也重命名您的jobtojobsstatusto statuses

这会给你:

[
  {'name': 'john', 'job': 'guitar', 'status': 'dead'},
  {'name': 'paul', 'job': 'bass', 'status': 'alive'},
  {'name': 'george', 'job': 'guitar', 'status': 'dead'},
  {'name': 'ringo', 'job': 'drums', 'status': 'alive'}
]
Run Code Online (Sandbox Code Playgroud)