"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment trouver le nombre dans une liste le plus proche d’une valeur donnée ?

Comment trouver le nombre dans une liste le plus proche d’une valeur donnée ?

Publié le 2024-11-19
Parcourir:916

How do you find the closest number in a list to a given value?

Trouver le nombre le plus proche dans une liste d'une valeur donnée

Étant donné une liste d'entiers et un nombre cible, la tâche consiste à trouver le nombre dans la liste qui est le plus proche de la cible. Ce problème peut être résolu en utilisant différentes approches :

Utilisation de la distance minimale

Si l'ordre des éléments dans la liste n'est pas garanti, la fonction min() avec le paramètre key peut être utilisée. Cette méthode trouve la distance minimale entre chaque élément et la cible et renvoie l'élément avec la distance minimale :

def takeClosest(myList, myNumber):
    return min(myList, key=lambda x: abs(x - myNumber))

Utilisation de la recherche binaire (méthode de bissection)

Si la liste est triée, la recherche binaire peut être appliquée pour trouver plus efficacement le numéro le plus proche en un temps O(log n):

def takeClosest(myList, myNumber):
    low = 0
    high = len(myList) - 1
    while low 
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3