可能最流行的用法是operator.itemgetter。给定一个
lst元组列表,您可以按以下方式按ith元素排序:
lst.sort(key=operator.itemgetter(i))
当然,您可以通过定义自己的键功能来在没有操作员的情况下执行相同的操作,但是操作员模块使其变得更加整洁。
至于其余部分,python允许使用一种编程的功能样式,因此它可以出现-例如,Greg的reduce示例。
您可能会争辩:“为什么我
operator.add什么时候能做到:
add = lambda x, y: x+y?” 答案是:
operator.add
(我认为)稍微快一点。- 它使您或以后的其他人更容易理解代码。他们不需要寻找add的定义,因为他们知道操作员模块的作用。
operator.add
是可腌制的,而lambda
不是。这意味着该功能可以保存到磁盘或在进程之间传递。



