2

因此,在 python 中对列表进行排序时,该sorted函数可以带一个cmp关键字来覆盖__cmp__我们正在排序的对象的函数。

我希望max有一个类似的关键字,但它没有。人们知道为什么吗?

无论如何,有人知道解决这个问题的最pythonic方法吗?我不想覆盖__cmp__类本身,而我能想到的其他选项sorted(L,cmp=compare)[0]看起来很丑陋。什么是这样做的好方法?

给出的实际示例是L=[a1,a2,...,an]其中 eachak本身就是一个整数列表,我们想要最大的整数在哪里ai<aj是词典意义上的。

4

1 回答 1

4

不要使用cmp. 它已从 Python3 中删除,取而代之的是key.

由于 Python 按字典顺序比较字符串,您可以使用它key = str来查找“最大”整数:

In [2]: max([10,9], key = str)
Out[2]: 9
于 2012-08-07T10:53:41.940 回答