En Python, nous utilisons la fonction min() pour trouver la plus petite valeur dans une liste ou dans un ensemble d’éléments comparables. Dans cet article, nous allons explorer en détail comment utiliser min() avec des listes en Python.
La syntaxe de base de la fonction min() est la suivante :
min(iterable, *[, key, default]) iterable : L’objet sur lequel vous souhaitez trouver la valeur minimale, tel qu’une liste, un tuple, ou tout autre objet itérable.* : Indique que les arguments suivants sont optionnels.key : Une fonction optionnelle qui spécifie une fonction de comparaison personnalisée. Par défaut, min() utilise l’ordre naturel des éléments.default : Une valeur par défaut retournée si l’itérable est vide.numbers = [5, 2, 8, 1, 9]
min_value = min(numbers)
print("La plus petite valeur dans la liste est :", min_value) # Output: La plus petite valeur dans la liste est : 1 keyParfois, nous voulons trouver la plus petite valeur basée sur une condition personnalisée. Par exemple, pour trouver la longueur de la plus petite chaîne dans une liste de chaînes, nous utilisons une fonction lambda comme clé.
strings = ["apple", "banana", "orange", "kiwi"]
min_length = min(strings, key=lambda x: len(x))
print("La plus petite longueur de chaîne dans la liste est :", len(min_length)) # Output: La plus petite longueur de chaîne dans la liste est : 4 empty_list = []
default_value = "Aucune valeur disponible"
min_value = min(empty_list, default=default_value)
print("La plus petite valeur dans la liste est :", min_value) # Output: La plus petite valeur dans la liste est : Aucune valeur disponible min() est vide et qu’aucune valeur par défaut n’est fournie, une exception ValueError sera levée.min() renvoie un seul élément, même s’il y a plusieurs occurrences de la valeur minimale dans l’itérable. Voici quelques exemples pratiques illustrant l’utilisation de la fonction min() avec des listes en Python :
Supposons que nous ayons une liste de notes d’étudiants et que nous voulions trouver la note minimale :
notes = [85, 92, 78, 65, 90]
note_minimale = min(notes)
print("La note minimale est :", note_minimale) # Output: La note minimale est : 65 Imaginons que nous ayons une liste de points représentés par des tuples (x, y), et que nous voulions trouver la plus petite distance entre deux points :
import math
points = [(1, 2), (4, 5), (3, 7), (8, 9)]
def distance(p1, p2):
return math.sqrt((p1[0] - p2[0])**2 + (p1[1] - p2[1])**2)
plus_petite_distance = min(distance(p1, p2) for p1 in points for p2 in points if p1 != p2)
print("La plus petite distance entre deux points est :", plus_petite_distance) # Output: La plus petite distance entre deux points est : 3.1622776601683795 Supposons que nous ayons une liste de dates et que nous voulions trouver la date la plus proche d’une date donnée.
from datetime import datetime
dates = [datetime(2024, 5, 10), datetime(2024, 5, 15), datetime(2024, 5, 20)]
date_cible = datetime(2024, 5, 17)
date_plus_proche = min(dates, key=lambda x: abs(x - date_cible))
print("La date la plus proche de la date cible est :", date_plus_proche) # Output: La date la plus proche de la date cible est : 2024-05-15 00:00:00 Ces exemples démontrent la polyvalence de la fonction min() en Python et comment elle peut être utilisée pour résoudre une variété de problèmes pratiques avec des listes.
Voici quelques cas particuliers où l’utilisation de la fonction min() avec des listes peut être particulièrement utile :
Si vous travaillez avec des listes qui peuvent contenir des valeurs nulles ou vides, vous pouvez utiliser la fonction min() avec l’argument default pour fournir une valeur par défaut si la liste est vide ou si toutes ses valeurs sont nulles :
values = [0, None, 5, 3, None]
min_value = min(values, default=10) # Si la liste est vide ou ne contient que des valeurs nulles, retourne 10
print("La plus petite valeur est :", min_value) # Output: La plus petite valeur est : 0 Lorsque vous travaillez avec des listes de chaînes de caractères, vous pouvez utiliser la fonction min() avec l’argument key pour trouver la chaîne la plus petite en fonction de certains critères, comme la longueur de la chaîne ou l’ordre alphabétique :
strings = ["banana", "apple", "kiwi", "orange"]
plus_petite_longueur = min(strings, key=len)
print("La chaîne avec la plus petite longueur est :", plus_petite_longueur) # Output: La chaîne avec la plus petite longueur est : kiwi
premiere_lettre = min(strings) # Trouve la chaîne avec la première lettre dans l'ordre alphabétique
print("La première chaîne dans l'ordre alphabétique est :", premiere_lettre) # Output: La première chaîne dans l'ordre alphabétique est : apple Si vous avez une liste d’objets et que vous voulez trouver l’objet avec la valeur minimale d’un attribut spécifique, vous pouvez utiliser la fonction min() avec une fonction lambda comme argument key :
class Personne:
def __init__(self, nom, age):
self.nom = nom
self.age = age
personnes = [Personne("Alice", 25), Personne("Bob", 30), Personne("Charlie", 20)]
plus_jeune = min(personnes, key=lambda x: x.age)
print("La personne la plus jeune est :", plus_jeune.nom) # Output: La personne la plus jeune est : Charlie Ces cas particuliers démontrent la flexibilité de la fonction min() en Python et comment elle peut être adaptée pour répondre à différents besoins lors de la manipulation de listes.
Deux outils concrets pour piloter la qualité sans alourdir vos équipes Cette page met à…
Un chantier se gagne souvent avant même l’arrivée des équipes. Quand tout est clair dès…
Le mariage a du sens quand il repose sur une décision libre, mûrie et partagée.…
Une étude de cas réussie commence par une structure sûre. Ce modèle Word vous guide…
Les soft skills se repèrent vite sur une fiche, mais elles ne pèsent vraiment que…
Outil de comparaison et repérage des offres étudiantes Choisir des verres progressifs ressemble rarement à…
This website uses cookies.