将Python列表值映射到字典值

And*_*bie 2 python

我有一个行列表......

rows = [2, 21]

和数据字典......

data = {'x': [46, 35], 'y': [20, 30]}

我想构建第二个字典,dataRows用这个看起来像这样的行键入...

dataRows = {2: {'x': 46, 'y': 20}, 21: {'x': 35, 'y': 30}}

我尝试了以下代码,但值dataRows始终相同(循环中的最后一个值):

for i, row in enumerate(rows):
    for key, value in data.items():
        dataRows[row] = value[i]
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

jad*_*dsq 7

您的问题是您没有在dataRows中放置子词典.修复将是这样的:

for i, row in enumerate(rows):
    dataRows[row] = {}
    for key, value in data.items():
        dataRows[row][key] = value[i]
Run Code Online (Sandbox Code Playgroud)

  • *确切*相同的代码(包括空格)我放在我的答案中(因为你先发布,所以没有发布). (2认同)