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

如何在Python的match-case语句中判断变量是否在指定列表中?

在Python的match-case中判断元素是否属于列表的简便方法

你可以利用match-case的**守卫条件(guard clause)**来实现,不需要逐个列举列表元素,直接判断x是否在目标列表中即可。

实现代码

首先定义你的列表:

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]

然后使用带守卫条件的match-case语句:

def get_result(x):
    match x:
        case _ if x in a:
            return "132"
        case _ if x in b:
            return "564"
        case _ if x in c:
            return "798"
        case _:
            return "未匹配到任何列表"

补充说明

  • case _中的_是通配符,会匹配任意值;后面的if x in a是守卫条件,只有当该条件成立时,才会执行当前case的代码块。
  • 如果你的列表元素数量很大,建议把列表转换成集合(set),因为集合的成员判断效率是O(1),远高于列表的O(n),修改后的定义如下:
a = {1, 2, 3}
b = {4, 5, 6}
c = {7, 8, 9}

这种写法既简洁又能应对大规模元素的场景,完全符合你的需求。

内容的提问来源于stack exchange,提问作者20-roso

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:51:17