Python比较函数
我有一些数据,可以用一个值和一个比较函数来表示,形式是 (val, f)
。这样就可以通过检查 f(val, another)
是否为 True
来判断另一个值是否符合条件。这部分很简单。
不过,有些情况下我只需要用 >
、<
或 ==
作为比较函数 f
,但我找不到一个简单的方法来使用它们;我最后写的代码像是 ScorePoint(60, lambda a, b: a <= b)
,看起来很别扭。
有没有办法让我可以像这样写 ScorePoint(60, <=)
呢?
2 个回答
-4
是的:
LessEqual = lambda a, b: a <= b
ScorePoint(60, LessEqual)
或者可以用更简洁的方式(但可读性稍差):
LE = lambda a, b: a <= b
ScorePoint(60, LE)
11
operator
模块是你的好帮手:
import operator
ScorePoint(60, operator.le)
可以查看这个链接了解更多信息:http://docs.python.org/library/operator.html