这个字典理解代码有什么问题?

What's wrong with this dictionary comprehension code?

我有一本 python 词典,它是某种词汇表。

glossary_dict = {'AA': 'AA_meaning',
                 'BB': 'BB_meaning',
                 'CC': 'CC_meaning',
                 }

这是原版词典。

original = [{'AA': '299021.000000'},
            {'BB': '299021.000000'},
            {'CC': '131993.000000'},
            ]

我想用 glossary_dict 的对应值替换 original 字典的键。 最终结果将如下所示;

explained = {'AA_meaning': '299021.000000',
             'BB_meaning': '299021.000000',
             'CC_meaning': '131993.000000',
            } 

我想用字典理解的方法解决这个问题。这就是我所做的;

explained = {glossary_dict[key]: value for (key, value) in original[0].items()}

结果是{'AA_meaning': '299021.000000'}。它很接近但仍然不是正确答案。我错过了什么?

我正在使用 python 3.7

你有一个 dict 的列表,迭代列表然后访问密钥

例如:

explained = {glossary_dict[key]: value for i in original for key, value in i.items()}
print(explained)

输出:

{'AA_meaning': '299021.000000',
 'BB_meaning': '299021.000000',
 'CC_meaning': '131993.000000'}

先更正您的 explained 词典。然后,使用,

original = [{'AA': '299021.000000'}, {'BB': '299021.000000'}, {'CC': '131993.000000'}, ]

original = {'AA': '299021.000000', 'BB': '299021.000000', 'CC': '131993.000000'}

然后,

explained = {glossary_dict[key]: value for (key, value) in original.items()}