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

Python类模式匹配时触发SyntaxError无效语法错误如何解决?

问题原因

match...case 结构化模式匹配语法是 Python 3.10 及以上版本才支持的新特性,低于该版本的Python解释器无法识别match关键字,会直接抛出语法错误,这是你报错的根本原因。
你可以在终端执行 python --version 命令查看当前使用的Python版本,确认是否低于3.10。

修复方案

方案1:升级Python版本

直接将你的运行环境Python版本升级到3.10及以上,原代码无需任何修改即可正常运行,返回符合要求的亚洲城市列表。

方案2:兼容低版本Python的写法

如果暂时无法升级环境,用普通的if条件判断替换match语法即可,修改后的函数代码如下:

def match_asian_cities():
    results = []
    for city in cities:
        if city.continent == 'Asia':
            results.append(city)
    return results

还可以用更简洁的列表推导式实现相同逻辑:

def match_asian_cities():
    return [city for city in cities if city.continent == 'Asia']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:57:04