Python比较函数
问题描述:
我有一些数据可以用来表示为值和比较函数(val, f)
,因此可以通过查看f(val, another)
是否为True
来检查另一个值。这很容易。Python比较函数
其中一些只需要>
,<
或==
作为f
,但是,我找不到使用它们的干净方式;我最终写了一些东西,如ScorePoint(60, lambda a, b: a <= b)
。这很丑陋。
有没有一种方法,我可以做更多的东西一样ScorePoint(60, <=)
?
答
的operator
模块是你的朋友:
import operator
ScorePoint(60, operator.le)
答
是:
LessEqual = lambda a, b: a <= b
ScorePoint(60, LessEqual)
或更简洁(但不读):
LE = lambda a, b: a <= b
ScorePoint(60, LE)
+3
我不禁注意到,你没有一个“同伴压力”徽章;) – aaronasterling 2010-09-24 14:03:04
+0
我不禁注意到,人们仍然否决没有很好的理由。 :-) – 2010-09-27 07:12:57
仍然IC k ---我必须导入一个模块来处理操作符的功能吗?但这比自己做得更好。谢谢! – JasonFruit 2010-09-24 14:06:12