提问人:Jacob B 提问时间:4/26/2023 更新时间:4/27/2023 访问量:42
有没有办法使用匹配项检查列表的输入?
Is there a way to check inputs against lists using matches?
问:
我需要一种方法来针对单个输入/变量(最好是匹配项)测试单个多个列表项,并根据与该输入/变量匹配的列表项执行不同的功能。
目前我正在使用:
match I:
case List[0]:
input 1
case List[1]:
input 2
但它不断返回一个不能包含内置可变序列的错误,这就是我从大量 if - elif 函数切换的原因。case
答:
0赞
Pawel
4/26/2023
#1
您可以稍微更改索引的匹配顺序。例如:
x = 'a'
l = ['a', 'b', 'c']
match l.index(x):
case 0:
print("input 1")
case 1:
print("input 1")
case 2:
print("input 1")
使用这种方法,您的列表可能具有动态内容。
0赞
Jacob B
4/27/2023
#2
我没有将列表对象的索引与输入进行比较,而是直接将输入与列表中的每个对象进行比较,因为运行时不需要修改列表。
match x:
case option1:
print("option 1")
case option2:
print("option 2")
评论
index
case
match
case
if
elif
else