Recherche de site Web

Python - Fonction Lambda pour trouver la plus petite valeur entre deux éléments


Les fonctions Lambda sont des fonctions populaires en Python qui n'ont pas de nom. Ils sont conçus pour nous aider lorsque nous devons appliquer une petite opération, mais nous savons que nous ne réutiliserons pas le code ailleurs. Dans cet article, nous apprendrons comment trouver la plus petite valeur entre deux éléments à l'aide de la fonction lambda. Nous explorerons plusieurs méthodes comme min, sorted, etc. ainsi que la fonction lambda pour effectuer la même chose.

Utilisation de l'instruction if else

L'instruction if else est appelée opérateur conditionnel en Python. Cela nous donne la possibilité de prendre certaines décisions basées sur certains critères. L'expression conditionnelle évalue si le résultat de l'expression conditionnelle est vrai ou faux. Si c'est True alors un bloc de code sera exécuté sinon il sera bloqué.

Exemple

Dans l'exemple suivant, nous avons utilisé l'expression conditionnelle avec la fonction lambda. Nous avons utilisé l'expression conditionnelle pour vérifier le nombre le plus petit entre a et b. Nous avons défini la fonction lambda, lui avons transmis la valeur de a et b et avons renvoyé le résultat obtenu à partir de la fonction lambda.

def smaller(a,b):
    smaller = lambda a, b: a if a < b else b
    result = smaller(a, b)
    return result
a=45
b=24
print("The smaller number between {} and {} is: {}.".format(a, b, smaller(a,b)))  

Sortir

The smaller number between 45 and 24 is: 24

Utilisation de la fonction min

La fonction min en Python renvoie la plus petite valeur parmi la série d'éléments.

Syntaxe

min(arg1, arg2, ..., argN, key=func)

Ici arg1, arg2, ..., argN sont les arguments ou les éléments. Nous pouvons également transmettre n'importe quel objet itérable à la fonction au lieu de la série d'arguments. La « clé » spécifie tout classement personnalisé qui doit être effectué si nous souhaitons utiliser une structure de données complexe et ne souhaitons pas utiliser le classement personnalisé.

Exemple

Dans l'exemple suivant, nous avons utilisé la fonction min pour déterminer le plus petit des deux nombres a et b. Nous avons utilisé la fonction lambda et y avons enveloppé l'expression. Ensuite, nous avons appelé la fonction lambda et lui avons transmis les arguments a et b.

def find_smaller(a, b):
    smaller = lambda a, b: min(a, b)
    return smaller(a, b)
a = 47
b = 24
result = find_smaller(a, b)
print("The smaller number between {} and {} is: {}.".format(a, b, result))

Sortir

The smaller number between 47 and 24 is: 24.

Utilisation de la méthode triée

La fonction triée en Python est une fonction intégrée. Cela nous permet de trier une séquence ou un objet dans un ordre itérable. Il renvoie une nouvelle liste triée sans modifier la liste d'origine.

Syntaxe

sorted(iterable, key=key, reverse=Boolean value)

Ici, le tri est le nom de la fonction. L'itérable est le nom de l'objet itérable. La clé est définie comme le paramètre permettant de spécifier l'attribut que nous devons utiliser pour trier l'itérable si l'objet itérable est assez complexe. Le paramètre reverse prend le booléen True ou False. S'il est défini sur True, le tri sera effectué dans l'ordre inverse.

Exemple

Dans l'exemple suivant, nous avons utilisé la méthode sorted. Nous avons utilisé la fonction lambda pour appliquer la méthode sorted aux éléments a et b. Ensuite, nous avons appelé la fonction lambda et passé les paramètres a et b.

def find_smaller(a, b):
    smaller = lambda a, b: sorted([a, b], key=lambda x: x)[0]
    return smaller(a, b)
a = 455
b = 89
result = find_smaller(a, b)
print("The smaller number between {} and {} is: {}.".format(a, b, result))

Sortir

The smaller number between 455 and 89 is: 89.

Utilisation de la méthode Lambda et Reduction

Le 'reduce' n'est pas une méthode intégrée à Python. Il relève du module functools. Le module functools fournit diverses méthodes pour gérer les fonctions. Cela aide à appliquer des fonctions spécifiques de manière itérable. Il faut deux paramètres obligatoires : le premier est le nom de la fonction et le suivant est l'objet itérable.

Exemple

Dans l'exemple suivant, nous avons d'abord importé la méthode functools. Ensuite, nous avons créé une liste contenant deux éléments a et b. Nous avons utilisé la fonction lambda pour développer une expression conditionnelle qui évalue le plus petit nombre parmi a et b. Ensuite, nous avons utilisé la méthode réduire pour appliquer cette fonction lambda aux éléments.

from functools import reduce
def find_smaller(a, b):
    elements=[]
    elements.append(a)
    elements.append(b)
    smaller = lambda a, b: a if a < b else b
    result = reduce(smaller, elements)
    return result
a = 4557
b = 66
result = find_smaller(a, b)
print("The smaller number between {} and {} is: {}.".format(a, b, result))

Sortir

The smaller number between 4557 and 66 is: 66.

Conclusion

Dans cet article, nous avons compris comment trouver la plus petite valeur entre deux valeurs en Python. Nous avons utilisé la fonction lambda pour le gérer, ce qui offre une manière élégante d'écrire les codes. Nous avons utilisé plusieurs méthodes de Python comme réduire, trier, etc. pour y faire face. Puisqu'il s'agit d'une simple comparaison entre deux nombres, nous n'avons guère besoin de nous soucier de la complexité temporelle et d'optimiser l'algorithme.

Articles connexes: