・ J'ai posté le code d'expression Lambda sur qiita la veille, mais il enfreint PEP8 et l'expression lambda fonctionne. Je pensais que cela ne mènerait pas à la croissance personnelle si je semblais le confirmer. Tout en comprenant comment utiliser la fonction de carte et la fonction de filtre qui roulent souvent sur le net, j'ai ressenti la valeur de l'expression lambda.
[Python] Comment utilisez-vous les expressions lambda? ?? [Gribouillis] [Premier message] https://qiita.com/sho_cullni/items/aba9a09b30abb20cfd1a
Une fonction qui exécute le traitement de fonction sur une liste et génère une valeur de retour
map(une fonction,Liste etc.)
J'ai essayé de faire un code qui triple pour une liste donnée
map_test.py
num_list = [-4, -3, -2, -1, 0, 1, 2, 3, 4]
triple_num_list = map(lambda x: x * 3, num_list)
print(list(triple_num_list))
Si vous souhaitez reproduire le code ci-dessus en utilisant def, par exemple:
def triple(x):
x = x * 3
return x
num_list = [-4, -3, -2, -1, 0, 1, 2, 3, 4]
print(list(map(triple,num_list)))
Le résultat de sortie lorsque les deux codes ci-dessus sont exécutés est le suivant
[-12, -9, -6, -3, 0, 3, 6, 9, 12]
Une fonction qui exécute une fonction sur une liste, etc., et renvoie uniquement celles qui remplissent les conditions (devient True) comme valeurs de retour.
filter(une fonction,Liste etc.)
J'ai fait un code qui récupère des multiples de 3 pour une liste donnée (Un sentiment de Nabeatsu dans le monde)
filter_test.py
num_list = [1, 2, 3, 4, 5, 6]
aho = filter(lambda x: x % 3 == 0, num_list)
print(list(aho))
Si vous souhaitez reproduire le code ci-dessus en utilisant def, par exemple:
def ahoaho(x):
for i in x:
if i % 3 == 0:
aho.append(i)
aho = []
num_list = [1, 2, 3, 4, 5, 6]
ahoaho(num_list)
print(list(aho))
Le résultat de sortie lorsque les deux codes ci-dessus sont exécutés est le suivant
[3, 6]
-Bien sûr, il semble plus facile de coder que de définir chaque fonction avec def. .. .. !! -La technique de combinaison de la fonction de filtre et de l'expression lambda semble être utilisable dans le scraping Web. Si vous pouvez le comprendre d'une bonne manière à l'avenir, je vais le lister dans qiita.
J'ai commenté, donc je vais l'ajouter! Merci pour ton commentaire à chaque fois! (^^) / J'espère mettre à jour à l'avenir ce qui se passe quand j'écris en def ...!
De plus, pour être exact, ce n'est pas une fonction lambda mais une expression lambda. Excusez-moi. Je l'ai réparé!
・ Vous pouvez faire ce qui suit avec les grammaires suivantes fonction triée: trie par ordre croissant ou décroissant selon le résultat de la fonction. max function: extrait les plus grandes données pour le résultat de la fonction. fonction min: extrait les plus petites données du résultat de la fonction.
sorted(Liste etc.,une fonction)・ ・ ・ Max et min sont les mêmes, il peut donc être bon de se souvenir d'eux ensemble!
・ Ce n'est peut-être pas très bon en tant que sujet, mais le nombre de personnes infectées par le virus corona semble facile à imaginer Essayez de trier, répertoriez les préfectures les plus infectées et vice versa.
sample.py
corona_infected = [["Tokyo", 11611],["Saitama", 2142],["Chiba",1512],["kanagawa", 2283]]
#Exemple de code de fonction triée, fonction max, fonction min
corona = sorted(corona_infected, key=lambda x: x[1])
corona_max = max(corona_infected,key=lambda x: x[1])
corona_min = min(corona_infected,key=lambda x: x[1])
#Sortie vers la console
print(corona_infected)
print(corona)
print(corona_max)
print(corona_min)
Le résultat de sortie lorsque les deux codes ci-dessus sont exécutés est le suivant
[['Tokyo', 11611], ['Saitama', 2142], ['Chiba', 1512], ['kanagawa', 2283]]
[['Chiba', 1512], ['Saitama', 2142], ['kanagawa', 2283], ['Tokyo', 11611]]
['Tokyo', 11611]
['Chiba', 1512]
Recommended Posts