Python序列的最小和最大
示例
获得序列的最小值(可迭代)等效于访问sorted序列的第一个元素:
min([2, 7, 5]) #输出2 sorted([2, 7, 5])[0] #输出2
最大值有点复杂,因为sorted保持顺序并max返回第一个遇到的值。如果没有重复项,则最大值与排序返回的最后一个元素相同:
max([2, 7, 5]) #输出:7 sorted([2, 7, 5])[-1] #输出:7
但是,如果有多个元素被评估为具有最大值,则不会:
class MyClass(object): def __init__(self, value, name): self.value= value self.name= name def __lt__(self, other): returnself.value< other.value def __repr__(self): return str(self.name) sorted([MyClass(4, 'first'), MyClass(1, 'second'), MyClass(4, 'third')]) #输出:[第二,第一,第三] max([MyClass(4, 'first'), MyClass(1, 'second'), MyClass(4, 'third')]) #输出:第一
允许任何包含支持<或>操作的可迭代元素。