对于新版本的 Python,您可以使用dict() + zip() 创建一个新字典:
dict(zip(dic, mylist))
# {'Bag': 0.2577, 'Door': 0.2311, 'Duck': 0.6393, 'Car': 0.159, 'Girl': 0.6135}
或者就地更新字典:
for k, v in zip(dic, mylist):
dic[k] = v
print(dic)
# {'Bag': 0.2577, 'Door': 0.2311, 'Duck': 0.6393, 'Car': 0.159, 'Girl': 0.6135}
但这假设 Python3.6+ 的字典是有序的。如果您使用具有 unordered 字典的较低版本,则可以使用 collections.OrderedDict 记住插入键的顺序。
OrderedDict 示例:
from collections import OrderedDict
mylist = [0.2577, 0.2311, 0.6393, 0.159, 0.6135]
items = ['Bag', 'Door', 'Duck', 'Car', 'Girl']
d = OrderedDict(zip(items, mylist))
print(d)
# OrderedDict([('Bag', 0.2577), ('Door', 0.2311), ('Duck', 0.6393), ('Car', 0.159), ('Girl', 0.6135)])
你也可以结合上面的例子只使用列表,列表是有序的:
mylist = [0.2577, 0.2311, 0.6393, 0.159, 0.6135]
items = ['Bag', 'Door', 'Duck', 'Car', 'Girl']
d = dict(zip(items, mylist))
print(d)
# {'Bag': 0.2577, 'Door': 0.2311, 'Duck': 0.6393, 'Car': 0.159, 'Girl': 0.6135}
并且是解决您的问题的最直接的方法,因为它直接创建字典。