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

Python 3中简化多值or条件判断、批量新增匹配项的简便方法

方案1:使用in关键字做成员判断

你可以把同色系的色值统一放到列表/集合中,后续新增匹配色值只需要往对应容器里加元素即可,不需要修改判断逻辑,集合的成员查询效率比列表更高,色值数量少的场景用列表也可以:

# 各颜色对应色值集合
green_pixels = {"#356044", "#22402b", "#213f2c", "#356043", "#22402c", "#346044"}
brown_pixels = {"#7c3d15", "#493613", "#4a3612", "#6a553e", "#785735", "#5e4b37", 
                "#6a553e", "#86623c", "#8b4f0d", "#7c3d14", "#6a553d", "#7c3d14", 
                "#6a553d", "#7c3d14", "#87623c", "#6e3612", "#87613c"}
silver_pixels = {"#8b8b8a", "#8b8b8b", "#8b8a8b"}

if outputbodypixel in green_pixels:
    output_body = "green"
elif outputbodypixel in brown_pixels:
    output_body = "brown"
elif outputbodypixel in silver_pixels:
    output_body = "silver"
else:
    output_body = "NOT DEFINED"

后续要新增匹配色值,只要往对应颜色的集合里加元素即可,比如给绿色加#ebebeb,直接写green_pixels.add("#ebebeb")或者在定义集合时直接写入元素即可。

方案2:使用字典映射(更适合后续新增颜色类别)

如果后续可能新增更多颜色分类,可以用字典把颜色和对应色值绑定,新增分类不需要修改判断逻辑,只要加字典键值对即可:

color_mapping = {
    "green": {"#356044", "#22402b", "#213f2c", "#356043", "#22402c", "#346044"},
    "brown": {"#7c3d15", "#493613", "#4a3612", "#6a553e", "#785735", "#5e4b37", 
              "#6a553e", "#86623c", "#8b4f0d", "#7c3d14", "#6a553d", "#7c3d14", 
              "#6a553d", "#7c3d14", "#87623c", "#6e3612", "#87613c"},
    "silver": {"#8b8b8a", "#8b8b8b", "#8b8a8b"}
}

output_body = "NOT DEFINED"
for color, pixel_set in color_mapping.items():
    if outputbodypixel in pixel_set:
        output_body = color
        break

这种方式扩展性更强,后续加新颜色比如灰色,只要在color_mapping里加一行"gray": {"#ebebeb", "#ececec", "#212121"}就完成了,判断逻辑完全不用改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:24:02