对于新版本的Python,您可以使用dict()+ 创建一个新字典zip():
dict(zip(dic, mylist))
# {'Bag': 0.2577, 'Door': 0.2311, 'Duck': 0.6393, 'Car': 0.159, 'Girl': 0.6135}
Run Code Online (Sandbox Code Playgroud)
或者更新字典:
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}
Run Code Online (Sandbox Code Playgroud)
但这假定Python3.6 +的有序词典.如果您使用的是具有无序词典的较低版本,则可以使用它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)])
Run Code Online (Sandbox Code Playgroud)
您还可以将上述示例组合为仅使用已排序的列表:
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}
Run Code Online (Sandbox Code Playgroud)
并且是您问题最直接的解决方案,因为它直接创建了一个字典.