我一直在试玩Python 3.10中的结构模式匹配,但无法弄清如何使其匹配一个集合。例如,我尝试过以下代码:
a = {1,2,3}
match a:
case set(1,2,3):
print('matched')
我尝试过以下方法:
a = {1,2,3}
match a:
case set([1,2,3]):
print('matched')
除此之外:
a = {1,2,3}
match a:
case [1,2,3] if isinstance(a, set):
print('matched')
我猜应该有一种方法可以做到这一点,因为我们可以匹配其他对象,但我不知道正确的语法是什么,也想不到还有什么尝试的办法。任何帮助将不胜感激!谢谢!
case {a, b, c}:
,它怎么知道每个值应该赋给哪个变量呢?因为集合没有任何顺序。 - undefinedswitch/case
,只是一种退化情况,当模式中没有变量时。但它仍然需要类型支持带有变量赋值的模式匹配。 - undefined