我有一些数据可以表示为值和比较函数(val, f)
,因此可以通过查看f(val, another)
是True
来检查另一个值。这很简单。
其中有些只需要>
,<
或==
作为f
,但我找不到使用它们的简洁方法;我最后写的是像ScorePoint(60, lambda a, b: a <= b)
这样的东西。那很难看。
有没有办法可以做更像ScorePoint(60, <=)
的事情?
答案 0 :(得分:11)
operator
模块是你的朋友:
import operator
ScorePoint(60, operator.le)
答案 1 :(得分:-4)
是:
LessEqual = lambda a, b: a <= b
ScorePoint(60, LessEqual)
或更简洁(但不太可读):
LE = lambda a, b: a <= b
ScorePoint(60, LE)