Python比较函数

4 投票
2 回答
1135 浏览
提问于 2025-04-16 04:33

我有一些数据,可以用一个值和一个比较函数来表示,形式是 (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

撰写回答