简短的问题,可能简短的回答,但我不明白^^
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,所以dict是通过插入来排序的。
不,没有捷径。您需要将dict.update
与对列表一起使用。
d.update(zip(d, l))
在Python 3.7+中,dicts按照项目的顺序排序。因此以下是正确的。
d = {'a' : 0, 'b' : 0, 'c' : 0, 'd' : 0}
for i, k in enumerate(d.keys(), 1):
d[k] = i
或者您可以使用以下内容:
d['a'], d['b'], d['c'], d['d'] = range(1,5) #or 1, 2, 3, 4
编辑
使用词典理解的一个班轮:
d = {key: val for val, key in enumerate(d.keys(), 1)}