20

Python 3.10 中新的结构模式匹配特性是一个非常受欢迎的特性。有没有办法使用这个语句来匹配不等式?原型示例:

match a:
    case < 42:
        print('Less')
    case == 42:
        print('The answer')
    case > 42:
        print('Greater')
4

1 回答 1

26

您可以使用警卫

match a:
   case _ if a < 42:
      print('Less')
   case _ if a == 42:
     print('The answer')
   case _ if a > 42:
     print('Greater')

另一种选择,没有警卫,使用纯模式匹配:

match [a < 42, a == 42]:
   case [True, False]:
      print('Less')
   case [_, True]:
      print('The answer')
   case [False, False]:
      print('Greater')
于 2021-10-25T15:02:06.277 回答