这与新的 Python 3.10 beta 和新match
语法有关。有没有办法检查一个模式是否简单地包含在一个迭代中?最明显的解决方案是简单地将两个通配符放在两边,但这会引发 aSyntaxError
由于来自可迭代解包的解包语法。
有没有办法做到这一点?注意:在示例中使用诸如包装类之类的东西numbers
会很好,只要它使用匹配块并且至少具有一定的可读性,但我已经尝试过这个并且没有太大的成功
例子:
numbers = [1, 2, 3, 5, 7, 8, 9] #does not have to be a list, could be a class if needed
match numbers:
# this just raises a SyntaxError, but I need a way to do something equivalent to this
case [*_, (5 | 6), *_]:
print("match!")