これは、新しい Python 3.10 ベータと新しいmatch
構文に関係しています。パターンが単純にイテラブルに含まれているかどうかを確認する方法はありますか? 最も明白な解決策は、どちらかの側に 2 つのワイルドカードを単純に配置することですが、SyntaxError
反復可能なアンパックから生じるアンパック構文のために a が発生します。
これを行う方法はありますか?注: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!")