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) 但无法将其格式化为上述格式。
提前致谢!
我想你想要的是一个字典列表。您可以zip
将三个列表放在一起并使用列表理解。下面是一个例子:
[{'name': name, 'job': job, 'status': status} for name,job,status in zip(names,jobs,statuses)]
Run Code Online (Sandbox Code Playgroud)
(也重命名您的job
tojobs
和status
to 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)