Racketのパターン マッチング機能が非常に強力であることがわかりました。
> (match '(1 2 3) [(list a b c) (list c b a)])
'(3 2 1)
> (match '(1 2 3) [(list 1 a ...) a])
'(2 3)
> (match '(1 2 3)
[(list 1 a ..3) a]
[_ 'else])
'else
> (match '(1 2 3 4)
[(list 1 a ..3) a]
[_ 'else])
'(2 3 4)
> (match '(1 2 3 4 5)
[(list 1 a ..3 5) a]
[_ 'else])
'(2 3 4)
> (match '(1 (2) (2) (2) 5)
[(list 1 (list a) ..3 5) a]
[_ 'else])
'(2 2 2)
Pythonでそれを行うための同様の構文シュガーまたはライブラリはありますか?