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

如何使用dictionary-comprehension删除Python字典中值为空的键

错误原因分析

你当前编写的推导式属于集合推导式,只迭代生成了由值组成的集合,完全丢失了键信息,也无法输出字典类型的结果,这就是运行不符合预期的核心原因。

正确实现

字典推导式需要显式声明键:值的映射结构,你要求的过滤所有内置假值的逻辑,直接用if val即可实现:Python中所有内置假值(包括[]、0、None、0.0、""等)做布尔判断时都会返回False,正好匹配你定义的“空”的过滤规则。

完整可运行代码如下:

thisdict =  {
  "brand": "Ford",
  "model": "Mustang",
  "year": ''  # [], 0, None, 0.0, "" 等所有假值都会被过滤
}
print(thisdict)
# 正确的字典推导式写法
thisdict = {key: val for key, val in thisdict.items() if val}
print(thisdict)

运行输出结果:

{'brand': 'Ford', 'model': 'Mustang', 'year': ''}
{'brand': 'Ford', 'model': 'Mustang'}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:36:02