python - 有条件的字典理解

标签 python python-2.7 dictionary-comprehension

所以我想知道是否有人可以帮助我解决我遇到的这个问题。

假设我有一本字典:

d = {1: {2: 3}, 4: 5}

我想创建一个包含所有字典的字典:

wanted_result = {2: 3}

我正在尝试的是:

e = {inner_key: d[key][inner_key] for key in d.keys() for inner_key in d[key].keys() if isinstance(d[key], dict)}

然而,这导致我收到一个错误,指出 int 没有键,我知道这一点,但我认为我的条件会将 say 4 从我的示例中排除在理解之外。

最佳答案

d = {1: {2: 3}, 4: 5, 6: {7: 8}}
s = {k: v for elem in d.values() if type(elem) is dict for k, v in elem.items()}
>> {2: 3, 7: 8}

关于python - 有条件的字典理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10558567/

相关文章:

python - 从图像中提取文本

python - 一行 for 循环并修改对象

javascript - Odoo 10 添加按钮到 POS

python - 使用 pandas 创建数据框而不使用 for 循环的有效方法

python - 如何通过 HTTPie 使用空 json 数据发帖?

python - 加速django嵌套for循环时间序列

python - Python 的最佳客户端 LDAP API 是什么?

python - 如何运行仅在 Pandas 中选择第一次出现的条件查询?

python - 在两个字典中循环以在 python 中创建一个新字典