python-3.x 如何逐行组合列表和字典

zdwk9cvp  于 2022-12-01  发布在  Python
关注(0)|答案(1)|浏览(149)

我目前有两个数据,一个是列表,一个是指令。例如:

data_1 = {
    '583015': 7,
    '583016': 0,
    '583017': 0,
    '583018': 22,
    '583019': 74,
    '583020': 56,
    '583021': 108,
    '583022': 56,
    '583023': 72,
    '583024': 45,
}

data_2 = [
    '1',
    '2',
    '3',
    '4',
    '5',
    '6',
    '7',
    '8',
    '9',
    '10',
]

目前我所做的是开始做一个

for i in data_1:
   print(i)

但我很快就明白了我不能在data_1中为data_2调用另一个for循环......于是我陷入了困境。
我的问题是如何使data_1和data_2的每一行组合为下面的预期结果:

预期

combined = {
    '1': 7,
    '2': 0,
    '3': 0,
    '4': 22,
    '5': 74,
    '6': 56,
    '7': 108,
    '8': 56,
    '9': 72,
    '10': 45
}
lpwwtiir

lpwwtiir1#

下面的解决方案适用于Python 3.7+,因为在旧版本中不能保证字典中项的顺序!
使用以下代码可以实现:为了迭代字典值,使用data_1.values()

data_3 = {}

for Index, value in enumerate(data_1.values()):
    data_3[data_2[Index]] = value

print(data_3)

要了解有关遍历字典的更多信息,this article on realpython是一个很好的来源。

相关问题