lettura facile

La funzione min() in Python

La funzione min() in Python ti permette di trovare l'elemento minimo da un oggetto iterabile come una lista o un tupla o tra due

min(iterabile, *[, key, default])

o più argomenti.

min(arg1, arg2, *args[, key])

La funzione min() restituisce il primo valore minimo trovato nell'iterabile o negli argomenti.

Se ci sono valori minimi duplicati, viene restituito il primo che viene incontrato.

L'argomento `key` è una funzione che viene chiamata su ogni elemento prima di confrontarlo. È utile quando si desidera comparare gli elementi in base a un certo criterio piuttosto che al loro valore diretto. L'argomento `default` è un valore facoltativo che viene visualizzato se l'oggetto è vuoto. Se l'iterabile è vuoto e non viene fornito un valore default, min() solleva un errore ValueError.

Ecco qualche esempio pratico.

Crea una lista con alcuni numeri

numeri = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

Trova il valore minimo in una lista usando la funzione min().

min(numeri)

Python restituisce il valore minore nella lista ossia 1

1

Puoi usare la funzione min() anche per trovare il valore minimo tra argomenti multipli:

min(4, -2, 7, -5)

In questo caso il valore minimo è il quarto elemento ossia -5

-5

Se usi la funzione min() con una lista di stringhe, restituisce la stringa che viene prima in ordine alfabetico,

frutti = ["mela", "banana", "ciliegia", "arancia"]

 

min(frutti)

In questo esempio la funzione min() restituisce la stringa "arancia", perché è quella che viene prima delle altre in ordine alfabetico.

arancia

Come usare una chiave per trovare l'elemento minimo

Il parametro key della funzione min() ti permette di definire una funzione personalizzata per determinare il criterio di confronto tra gli elementi.

Ad esempio, supponi di avere una lista di tuple che rappresentano delle coordinate (x,y) del piano e vuoi trovare il punto con la y minima.

punti = [(2, 3), (1, -1), (5, 6), (0, 0)]

Utilizza la funzione min() indicando nel parametro key una funzione anonima lambda p: p[1] che prende una tupla p come argomento in input e restituisce la sua seconda componente, cioè p[1] che rappresenta la coordinata y della tupla.

min(punti, key=lambda p: p[1])

La funzione min() confronta le tuple in base alla loro seconda componente e restituisce quella con il valore minimo ossia (1,-1)

(1, -1)

Come gestire gli iterabili vuoti?

Quando utilizzi la funzione min() con un oggetto vuoto, Python solleva un'eccezione.

Per evitare il messaggio di errore, puoi utilizzare il parametro `default`.

Ad esempio, chiama la funzione min() con una lista vuota [ ]

min([], default="Lista vuota")

In questo caso Python restituisce il valore indicato nel parametro 'default' cioé la stringa "Lista vuota".

Lista vuota

In questo modo puoi evitare di visualizzare un messaggio di errore.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin