Python:将列表元素设置为字典值

Max*_*6hr -1 python dictionary list python-3.7

简短的问题和可能的简短回答,但我不明白^^

d = {'a' : 0, 'b' : 0, 'c' : 0, 'd' : 0}
l = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想将列表值设置为字典,以便

d = {'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4}
Run Code Online (Sandbox Code Playgroud)

当然

d['a'], d['b'], d['c'], d['d'] = l
Run Code Online (Sandbox Code Playgroud)

会成功,但这不是正确的方法。如果我有 50 个值怎么办......一个可以压缩d并且l也能正常工作的循环。

但是有一些短的东西d.values = l,不是吗?

感谢您的帮助!:)

编辑:我使用的是 Python 3.7,所以字典是按插入排序的。

che*_*ner 9

不,没有捷径可走。您需要使用dict.update对列表。

d.update(zip(d, l))
Run Code Online (Sandbox Code Playgroud)

  • 此外,这就是为什么`PEP8` 说不使用`l` 作为变量名,这就是为什么我不匹配的原因。我以为是‘1’哈哈 (2认同)