Cos'è min?

Minimo (min)

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:

  • Più argomenti singoli: Ad esempio, min(10, 5, 20, 1) restituirà 1.
  • Un singolo iterabile (lista, tuple, set, ecc.): Ad esempio, 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:

  • Il tipo di dato degli argomenti passati a min deve essere comparabile. Altrimenti, si verificherà un errore.
  • Quando si usa una funzione chiave, la funzione deve essere consistente e restituire un valore comparabile per ogni elemento.