Python Language Minimum et Maximum d'une séquence


Exemple

Obtenir le minimum d'une séquence (itérable) équivaut à accéder au premier élément d'une séquence sorted :

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

Le maximum est un peu plus compliqué, car sorted garde l'ordre et max renvoie la première valeur rencontrée. S'il n'y a pas de doublons, le maximum est le même que le dernier élément du retour trié:

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

Mais pas si plusieurs éléments sont évalués comme ayant la valeur maximale:

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

Tout élément contenant des éléments pouvant supporter < ou > opérations est autorisé.