Python Language Minimo e Massimo di una sequenza

Esempio

Ottenere il minimo di una sequenza (iterabile) equivale all'accesso al primo elemento di una sequenza sorted :

min([2, 7, 5])
# Output: 2
sorted([2, 7, 5])[0]
# Output: 2

Il massimo è un po 'più complicato, perché sorted mantiene l'ordine e max restituisce il primo valore rilevato. Nel caso in cui non ci siano duplicati il ​​massimo è uguale all'ultimo elemento del reso ordinato:

max([2, 7, 5])
# Output: 7
sorted([2, 7, 5])[-1]
# Output: 7

Ma non se ci sono più elementi che vengono valutati come aventi il ​​valore massimo:

class MyClass(object):
    def __init__(self, value, name):
        self.value = value
        self.name = name
        
    def __lt__(self, other):
        return self.value < other.value
    
    def __repr__(self):
        return str(self.name)

sorted([MyClass(4, 'first'), MyClass(1, 'second'), MyClass(4, 'third')])
# Output: [second, first, third]
max([MyClass(4, 'first'), MyClass(1, 'second'), MyClass(4, 'third')])
# Output: first

Sono permessi tutti gli elementi contenenti iterabili che supportano le operazioni < o > .