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) 

http://docs.python.org/library/operator.html

+0

仍然IC k ---我必须导入一个模块来处理操作符的功能吗?但这比自己做得更好。谢谢! – JasonFruit 2010-09-24 14:06:12

是:

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