python - 如何使用字典理解排除嵌套字典中的内部字典键?
问题描述
我有这本字典:
params = {'H': {'amt_thold_high': 0.0, 'amt_thold_restricted': 0.0, 'num_par': 2.0, 'version': 2.1},
'M': {'amt_thold_high': 0.0, 'amt_thold_restricted': 0.0, 'num_par': 2.0},
'L': {'amt_thold_high': 0.0, 'amt_thold_restricted': 0.0, 'num_par': 2.0}}
我想返回完全相同的字典,不包括version
第一个外部键中的内部 k H
。
这是我到目前为止所带来的:
{outer_k:outer_v for outer_k,outer_v in params.items() for inner_k, inner_v in outer_v.items() if inner_k != 'version'}
这是我得到的结果:
{'H': {'amt_thold_high': 0.0,
'amt_thold_restricted': 0.0,
'num_par': 2.0,
'version': 2.1},
'M': {'amt_thold_high': 0.0, 'amt_thold_restricted': 0.0, 'num_par': 2.0},
'L': {'amt_thold_high': 0.0, 'amt_thold_restricted': 0.0, 'num_par': 2.0}}
为什么我的解决方案不起作用,我如何使用 dict 理解来实现我的目标?
解决方案
你必须嵌套理解
{outer_k: {inner_k: inner_v
for inner_k, inner_v in outer_v.items() if inner_k != 'version'}
for outer_k, outer_v in params.items()}
并将条件应用于内部dict
。
推荐阅读
- sql - 如何在按 desc 排序的前 n 行中查找记录
- reactjs - 如何单击 React 中的按钮并打开表单?
- java - 如何在开发 BLE 应用程序时获取特性的属性
- reactjs - 谷歌登录,通过刷新反应应用程序保持登录
- javascript - 遍历具有多个值的道具的对象会导致 Typescript 错误:Type is not assignable to type never
- javascript - 我如何破坏这个框架克星?
- r - 使用 R 和 PhantomJS 的 rajya sabha 网站抓取工具
- swagger - SwashBuckle 不会生成符合 `swagger 2.0` 的 swagger.json
- excel - 将 Excel 数据传输到 Unity
- dll - 安装 Unity 时出现 api-ms-win-crt-runtime-|1-1-0.dll 错误