有没有办法匹配 Python ≥ 3.10 中的不等式?
Posted
技术标签:
【中文标题】有没有办法匹配 Python ≥ 3.10 中的不等式?【英文标题】:Is there a way to match inequalities in Python ≥ 3.10? 【发布时间】:2021-12-11 01:45:06 【问题描述】:Python 3.10 中新的结构模式匹配功能是一个非常受欢迎的功能。有没有办法使用这个语句来匹配不等式?原型示例:
match a:
case < 42:
print('Less')
case == 42:
print('The answer')
case > 42:
print('Greater')
【问题讨论】:
我个人会在匹配(不)等式而不是结构模式时使用简单的if elif else
语句。
【参考方案1】:
你可以使用guards:
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')
【讨论】:
使用条件检查看起来很简洁。不错! 两种解决方案都很棒!谢谢 让我头疼。以上是关于有没有办法匹配 Python ≥ 3.10 中的不等式?的主要内容,如果未能解决你的问题,请参考以下文章