【发布时间】:2019-02-25 14:46:42
【问题描述】:
简短的问题和可能的简短回答,但我不明白^^
d = {'a' : 0, 'b' : 0, 'c' : 0, 'd' : 0}
l = [1, 2, 3, 4]
我想将列表值设置为字典,这样
d = {'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4}
当然
d['a'], d['b'], d['c'], d['d'] = l
会成功,但这不是正确的方法。如果我有 50 个值怎么办……压缩 d 和 l 的循环也可以。
但是有一些像d.values = l 这样的短句,不是吗?
感谢您的帮助! :)
编辑:我使用的是 Python 3.7,所以字典是按插入排序的。
【问题讨论】:
-
您的语法不正确,
d不是字典而是语法错误,l是列表。字典和集合没有顺序,因此您不能只将集合中的值连接到字典中的键。 -
您需要有一个额外的结构来指示键的预期顺序。或使用 OrderedDict。
-
@meowgoesthedog:是的,我打错了,抱歉。编辑它。在 Python 3.7 中,字典按插入排序。
-
对于上下文,Perl 允许使用哈希切片进行类似的操作。如果
%d = (a=>0, b=>0, c=>0, d=>),则@d{qw/a b c d/} = (1,2,3,4)会进行所需的成对分配$d{a}=1,等等。
标签: python list dictionary python-3.7