Comment rechercher un élément, un maximum, ou deux valeurs proches dans une liste Python ?
Trouver le couple d'une liste minimisant la distance par un double parcours.
Trouver les deux valeurs les plus proches de la liste L = [1, 5, 3, 9, 2].
Trouver le couple d'une liste minimisant la distance par un double parcours.
Parmi les couples avec , on cherche celui qui minimise ; le coût est en et les deux boucles imbriquées doivent être ordonnées () pour ne pas compter deux fois le même couple.
d_min = float('inf') et un couple courant (a, b) = (None, None).i de à et, pour chaque i, j de i+1 à .d = abs(L[i] - L[j]) et, si d < d_min, je mets à jour d_min, a, b.(a, b) et la distance minimale d_min.Trouver les deux valeurs les plus proches de la liste L = [1, 5, 3, 9, 2].
d_min = float('inf') et un couple courant (a, b) = (None, None).J'initialise d_min = +infini, (a, b) = (None, None).
i de à et, pour chaque i, j de i+1 à .Je parcours tous les couples : .
d = abs(L[i] - L[j]) et, si d < d_min, je mets à jour d_min, a, b.Les distances sont ; le minimum est atteint par puis .
(a, b) et la distance minimale d_min.Je renvoie le premier couple rencontré avec la distance minimale : .
def deux_plus_proches(L):
n = len(L)
d_min = float('inf')
a, b = None, None
for i in range(n-1):
for j in range(i+1, n):
d = abs(L[i] - L[j])
if d < d_min:
d_min = d
a, b = L[i], L[j]
return a, b, d_min
Le couple le plus proche est avec une distance .
Appliquer l'algorithme à L = [10, 4, 7, 1, 8].
Sur L = [2.1, 5.4, 2.15, 8.0], trouver les deux plus proches.
Déterminer les deux valeurs les plus proches de la liste L = [7, 2, 11, 4, 9] par un algorithme à deux boucles imbriquées.
Appliquer l'algorithme des deux valeurs les plus proches à L = [3.7, 1.2, 3.75, 8.0, 1.15].
Crée ton compte pour accéder à la fiche et aux exercices