首页 > 解决方案 > 在 Python 中使用循环将列表元素添加为字典中的值

问题描述

我有以下字典:

numDict = {
    "1" : '0',
    "2" : '0',
    "3" : '0',
    "4" : '0',
    "5" : '0',
    "6" : '0',
    "7" : '0',
    "8" : '0',
    "9" : '0',
    "10" : '0',
    "11" : '0',
    "12" : '0',
}

以下列表:

numList = ['30', ' ', '40', '6', '40', '34', '4', '20', '5', '74', ' ','36']

我想使用循环将 numList 的每个元素作为 numDict 的值插入,因此 numDict 中每个键的值应该是这样的:

numDict = {
        "1" : '30',
        "2" : ' ',
        "3" : '40',
        "4" : '6',
        "5" : '40',
        "6" : '34',
        "7" : '4',
        "8" : '20',
        "9" : '5',
        "10" : '74',
        "11" : ' ',
        "12" : '36',
    }

我对应该将列表元素作为字典值插入的方式感到困惑。我应该遍历字典键吗?

标签: pythonlistloopsdictionary

解决方案


只需使用 并行迭代字典和列表zip,然后为每个键为字典分配新值,即可使用字典理解。

>>> {k:newVal for k,newVal in zip(numDict, numList)}

{'1': '30', '2': ' ', '3': '40', '4': '6', '5': '40', '6': '34', '7': '4', '8': '20', '9': '5', '10': '74', '11': ' ', '12': '36'}

推荐阅读