You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dictionary comprehensions疑问:如何在字典推导式中排除不符合条件的键值对

解决字典推导式过滤键值对的问题

你当前的写法用了三元表达式设置值,会导致不符合条件的键被保留但值设为None,而要完全排除这类键值对,不需要写else,直接把过滤条件放在字典推导式的循环之后即可。

正确的代码如下:

num_dict = {1:1, 2:4, 3:9}
twice_num_dict = {key: value for key, value in num_dict.items() if value * 2 >= 8}
print(twice_num_dict)

原理说明

这种写法的逻辑是:遍历原字典的每一组键值对,只将满足value*2 >=8条件的键值对添加到新字典中,不符合条件的会直接被跳过,不会出现在最终的twice_num_dict里。运行结果会是{2:4, 3:9},完全符合你只保留符合条件键值对的需求。

内容的提问来源于stack exchange,提问作者Arjun Hooda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:05:17