La funzione min
in molti linguaggi di programmazione (come Python, Java, C++, JavaScript, ecc.) serve a trovare il valore minimo tra un insieme di valori forniti. La sua implementazione e il tipo di argomenti che accetta possono variare a seconda del linguaggio.
Funzionalità di base:
La funzione min
prende uno o più argomenti in input e restituisce il più piccolo tra questi. Può accettare:
min(10, 5, 20, 1)
restituirà 1
.min([10, 5, 20, 1])
restituirà 1
. Alcuni linguaggi possono anche supportare generatori.Argomenti importanti:
Iterabili: La funzione min
spesso supporta l'uso di <a href="https://it.wikiwhat.page/kavramlar/iterabile" title="Iterabile">iterabili</a> come input. Un iterabile è un oggetto capace di restituire i suoi membri uno alla volta, permettendo a min
di trovare il valore più piccolo all'interno della sequenza.
Argomenti multipli: La possibilità di passare <a href="https://it.wikiwhat.page/kavramlar/argomenti%20multipli" title="Argomenti multipli">argomenti multipli</a> direttamente alla funzione min
è una caratteristica comune, fornendo una sintassi concisa per confrontare un numero limitato di valori.
Funzione chiave (key function): Alcune implementazioni di min
accettano un argomento key
(o equivalente). La <a href="https://it.wikiwhat.page/kavramlar/funzione%20chiave" title="Funzione chiave">funzione chiave</a> è una funzione che viene applicata a ogni elemento prima del confronto. Ciò consente di trovare il minimo in base a un criterio specifico, anziché al valore diretto degli elementi. Ad esempio, è possibile trovare la stringa più corta in una lista di stringhe usando min(lista_di_stringhe, key=len)
.
Valore predefinito (default value): Alcune implementazioni offrono la possibilità di specificare un <a href="https://it.wikiwhat.page/kavramlar/valore%20predefinito" title="Valore predefinito">valore predefinito</a> da restituire nel caso in cui l'iterabile fornito sia vuoto. Questo evita errori.
Esempi (Python):
# Minimo tra numeri
print(min(10, 5, 20, 1)) # Output: 1
# Minimo in una lista
lista_numeri = [10, 5, 20, 1]
print(min(lista_numeri)) # Output: 1
# Minimo in una lista di stringhe basato sulla lunghezza
lista_stringhe = ["apple", "banana", "kiwi"]
print(min(lista_stringhe, key=len)) # Output: kiwi
# Minimo con un iterabile vuoto (con valore predefinito)
try:
print(min([]))
except ValueError as e:
print("Errore: Lista vuota") #Genera errore senza valore predefinito
# In Python 3.8+ si può usare default:
# print(min([], default="Nessun elemento"))
Considerazioni:
min
deve essere comparabile. Altrimenti, si verificherà un errore.