找不到字符串

-1 python dictionary for-loop list

问题已删除.请不要打扰.

Roa*_*ner 5

对于新版本的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)

并且是您问题最直接的解决方案,因为它直接创建了一个字典.