将列表值分配给字典键

时间:2019-02-06 22:01:48

标签: python python-3.6

所以我想同时遍历字典和列表而不嵌套它们。 我真正的意思是:

for i,c in enumerate(dictionary) and for k in range(len(list)):
       dictionary[c] = list[k]

因此它基本上循环遍历一本字典,我可以使用列表为字典分配值。

2 个答案:

答案 0 :(得分:6)

IIUC,您正在尝试重新分配现有键以列出值。您只能从python-3.7开始(或者如果使用CPython则从3.6开始)执行此操作。可以通过直接重新分配来完成

dictionary = dict(zip(dictionary, lst))

或者,如果它们的长度不同,并且有一些要保留的密钥,请使用dict.update

dictionary.update(dict(zip(dictionary, lst)))

此外,在内置对象(例如list)之后命名变量也是不明智的。

答案 1 :(得分:4)

zip是你的朋友

dictionary.update(zip(dictionary, lst))