如何使用Python字典推导式合并嵌套字典中的内层字典?
合并嵌套字典的字典推导式写法
原字典定义:
cars_info_with_colors = { "red": {"audi": [105, 55], "toyota": [105, 66]}, "blue": {"renault": [102, 33], "mercedes": [100, 80]} }
要提取并合并其中的嵌套字典,正确的字典推导式写法如下:
removed_colors_dict = {k: v for color_dict in cars_info_with_colors.values() for k, v in color_dict.items()}
执行后得到的结果和循环实现的一致:
{ 'audi': [105, 55], 'toyota': [105, 66], 'renault': [102, 33], 'mercedes': [100, 80] }
说明之前写法的问题:
- 你尝试的第一个写法
{k: v for k, v in cars_with_colors.values}:一是values需要调用成values(),二是直接遍历values()拿到的是整个内层字典,不是键值对,无法直接解包为k, v。 - 第二个写法存在语法错误(括号不匹配),且循环逻辑没有正确遍历内层字典的键值对,无法得到目标结果。
内容的提问来源于stack exchange,提问作者KNenov
相关产品推荐
相关产品推荐

