从 2 个列表创建字典

Pet*_*etr 1 python dictionary

我想根据我拥有的三个列表创建一个字典:

Hier = ['A', 'C']
values = [10, 20]
All = ['A', 'B', 'C', 'D']
Run Code Online (Sandbox Code Playgroud)

结果应如下所示:

{"A", 10, "B": "", "C": 20, "D":""}
Run Code Online (Sandbox Code Playgroud)

And*_*ely 6

尝试:

Hier = ["A", "C"]
values = [10, 20]
All = ["A", "B", "C", "D"]

d = dict.fromkeys(All, "")
d.update(zip(Hier, values))
print(d)
Run Code Online (Sandbox Code Playgroud)

印刷:

{'A': 10, 'B': '', 'C': 20, 'D': ''}
Run Code Online (Sandbox Code Playgroud)

编辑:dict().update

  • 小改进:删除“update”调用的临时“dict”;`update` 接受一个可迭代的键/值对,因此它可以直接从 `zip` 迭代器读取: `d.update(zip(Hier, value))` (3认同)