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

如何将带if条件的for循环转换为字典推导式(Dictionary Comprehension)

字典推导式转换实现

直接把你的循环代码转换成字典推导式的写法如下:

dico = {key: 'green' if key in ['good', 'very good'] else 'red' for key in ['good','very good','bad','very bad','not good not bad']}
print(dico)

逻辑说明

字典推导式的核心结构是 {键: 值 for 元素 in 可迭代对象},这里我们把原来循环里的if-else判断用三元表达式整合到了值的位置:

  • 当key属于['good', 'very good']时,对应值为'green'
  • 其他情况对应值为'red'

运行这段代码后,输出结果和你期望的完全一致:

{'good': 'green',
 'very good': 'green',
 'bad': 'red',
 'very bad': 'red',
 'not good not bad': 'red'}

如果要让代码可读性和执行效率更高,还可以把判断用的集合单独定义:

keys = ['good','very good','bad','very bad','not good not bad']
green_keys = {'good', 'very good'}  # 集合的成员判断效率比列表更高
dico = {key: 'green' if key in green_keys else 'red' for key in keys}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:55:13