因此,在 python 中对列表进行排序时,sorted
函数可以采用 cmp
关键字覆盖 __cmp__
我们正在排序的对象的函数。
我希望max
拥有类似的关键字,但事实并非如此。人们知道为什么吗?
无论如何,有人知道解决这个问题的最Pythonic的方法吗?我不想覆盖 __cmp__
对于类(class)本身,以及我能想到的其他选项,例如 sorted(L,cmp=compare)[0]
看起来很丑。什么是一个好的方法来做到这一点?
实际示例为 L=[a1,a2,...,an]
其中每个 ak
本身就是我们想要的最大值的整数列表,其中 ai<aj
是字典意义上的。
最佳答案
不要使用cmp
。它已从 Python3 中删除,取而代之的是 key
。
由于 Python 按字典顺序比较字符串,因此您可以使用 key = str
来查找“最大”整数:
In [2]: max([10,9], key = str)
Out[2]: 9
关于python - python中max函数没有cmp关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11844335/