我可以在 Python3 中对我的匹配/案例术语使用列表切片吗

Can I use list slicing on my match/case term in Python3

提问人:stopbanningmelmao123 提问时间:1/18/2023 更新时间:1/18/2023 访问量:71

问:

为了详细说明,我有一个字符串,其结构为x

"Test_Case_Box 1"
"Test_Case_Box 2"
"Test_Case_Circle 1"

我通过检查例如是否使用 and 语句ifelif

x[0:19] == "Test_Case_Box"

使用 match/case 语法,如果我将 设置为我的字符串,我仍然可以创建 if like 案例,例如termx

match x:
                case x[0:10] == 'Request_Fun':
                    print(f'-- x[0:10]: {x[0:10]}')

python 列表 switch-statement 匹配

评论


答:

1赞 Tomerikoo 1/18/2023 #1

无需使用切片。要充分利用 ,您可以输入:matchsplit

strs = ["Test_Case_Box 1", "Test_Case_Box 2", "Test_Case_Circle 3"]

for s in strs:
    match s.split():
        case ["Test_Case_Box", num]:
            print(num)

将打印:

1
2

使用这里的好处是,您可以一次性获得结构匹配和分配变量。例如,使用您将需要解析结构,然后在条件内部进行解析以提取数字。matchif/elif