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
key
Parfois, 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.
Le commentaire composé est un exercice littéraire qui consiste à analyser un texte en respectant…
Les adjectifs liés en français sont les adjectifs qui s’accordent en genre (masculin/féminin) et en…
Voici une liste étendue de mots piégeux en français, avec leurs genres et des explications…
Apprendre à distinguer le genre des noms en français peut être un véritable défi pour…
1. Informations Générales Nom complet : Charles-Louis de Secondat, Baron de La Brède et de…
Introduction L’Art de la Guerre (Dell’arte della guerra), publié en 1521, est l’un des ouvrages…
This website uses cookies.