Je me suis souvent demandé: «Est-ce que le code que j'écris maintenant est une fonction, ou devrais-je l'écrire directement dans le main: en pensant:», mais à ce moment-là, je suis tombé sur une expression lambda et c'était C'est très facile à manipuler, et j'ai pu le mettre en place de manière compacte lorsque j'ai examiné l'ensemble du code, donc j'écrirai un article avec un mémorandum. : main_écriture:
Je voudrais expliquer l'expression lambda avec du code. Aussi, cette fois, je traiterai de l'addition comme un exemple simple, mais j'aimerais expliquer comment écrire du code pratique dans la section suivante.
python
def hoge(num1: int, num2: int):
num = num1 + num2
return num
Comme ça, même une fonction qui fait un simple ajout doit ajouter `` retour '' à la fin. De plus, lors de l'exécution de la fonction ci-dessus,
python
print(hoge(2, 6))
# 8
Je pense que cela sera confirmé en insérant une
instruction d'impression '' '' afin de confirmer si la fonction est traitée correctement.
Cependant, si vous n'avez pas effectué de traitement compliqué pour en faire une fonction, ou si vous ne voulez pas utiliser cette fonction ailleurs, vous pouvez l'écrire de manière un peu plus compacte.
Dans un tel cas, vous pouvez utiliser l'expression lambda!
L'addition ci-dessus est décrite par l'expression lambda comme suit.
python
print((lambda num1, num2:num1 + num2)(2, 6))
# 8
Explication de l'expression lambda: (nom de l'argument lambda: traitement de l'argument) (valeur requise pour le calcul) Avec une telle description, c'était très facile à lire et j'ai pu le coder de manière compacte: blush: Il est également possible de créer une expression lambda avec des arguments en l'affectant à une variable.
python
hoge = lambda num1, num2:num1 + num2
print(hoge(2, 6))
# 8
De plus, personnellement, c'est plutôt cool de pouvoir coder dans le style lambda: sourire: (On dirait quelqu'un qui peut le faire ...)
Si vous gardez l'explication de l'élément ci-dessus, il semble que ce sera "Cela ne change pas beaucoup même si vous l'écrivez avec une fonction!: Grimaçant:", donc j'aimerais réfléchir à la façon de démontrer la vraie valeur de l'expression lambda ici. Je vais!
Par exemple ...
python
hoge_list = [3, -5, 10, 6, -2, -1]
Si vous souhaitez trier les valeurs par ordre croissant avec les valeurs négatives supprimées de cette liste, utilisez l'expression lambda ...
python
print(sorted(filter(lambda num_plus: num_plus >= 0, hoge_list)))
# [3, 6, 10]
Avec le sentiment que, la première fonction triée ''
exécute le processus d'arrangement dans l'ordre croissant, et la fonction de filtre ''
décrit les conditions comme une instruction if, donc c'est très facile. Peut être décrit dans! : tada:
fonction triée '' `` peut être arrangée par ordre décroissant, mais cette fois je l'omettrai: bow_tone1:
De plus, comme il traite jusqu'à la fin de l'élément, il n'est pas nécessaire d'écrire une instruction for, il semble donc compact et facile à voir!En utilisant l'expression lambda, le code peut être exprimé de manière compacte et facile à lire car il n'est pas nécessaire de se soucier d'écrire l'instruction for et if, et cela semble être utile même si vous hésitez à en faire une fonction. , Je voudrais l'utiliser de plus en plus lorsque je rencontre une situation où je peux utiliser l'expression lambda! : muscle:
Recommended Posts