[Python] Comment utilisez-vous les expressions lambda? ?? [Gribouillis] [Suite-1]

Raison de la publication

・ 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.

Celui que j'ai mentionné dans qiita la dernière fois

[Python] Comment utilisez-vous les expressions lambda? ?? [Gribouillis] [Premier message] https://qiita.com/sho_cullni/items/aba9a09b30abb20cfd1a

fonction de carte

● Grammaire

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.)

● Exemple de code

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]

fonction de filtre

● Grammaire

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.)

● Exemple de code

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]

Impressions

-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.

fonction triée, fonction max, fonction min (ajoutée le 29 juillet 2020)

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é!

● Grammaire

・ 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!

● Exemple de code

・ 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

[Python] Comment utilisez-vous les expressions lambda? ?? [Gribouillis] [Suite-1]
Comment utiliser Python lambda
% Et str.format () en Python. Lequel utilisez-vous?
Qu'est-ce que pip et comment l'utilisez vous?
Combien connaissez-vous les bases de Python?
Comment installer et utiliser pyenv, que faire si vous ne pouvez pas changer de version de Python
python3: Comment utiliser la bouteille (2)
[Python] Comment utiliser la liste 1
Comment utiliser Python Argparse
Python: comment utiliser pydub
[Python] Comment utiliser checkio
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)
Comment collectez-vous les informations?
python3: Comment utiliser la bouteille
Comment utiliser les octets Python
[Python] Comment faire PCA avec Python
Python: comment utiliser async avec
[Python] Comment utiliser la série Pandas
Comment utiliser les requêtes (bibliothèque Python)
Avez-vous besoin de Python re.compile?
Comment utiliser SQLite en Python
Grammaire de base du système Python3 (comment utiliser les fonctions, la fermeture, la fonction lambda)
[Python] Comment utiliser la liste 3 Ajouté
Comment utiliser Mysql avec python
Comment utiliser l'API Python d'OpenPose
Indispensable si vous utilisez Python! Comment utiliser Numpy pour accélérer les calculs!
Comment utiliser ChemSpider en Python
Python: Comment utiliser pydub (lecture)
Comment utiliser PubChem avec Python
Comment utiliser la fonction zip de python
[Python] Comment utiliser l'API Typetalk
Python | Ce que vous pouvez faire avec Python
Combien de types de Python avez-vous dans votre Windows 10? J'avais 5 types.
Python - Comment diviser une liste en morceaux de taille égale en Python?
[Python] Résumé de l'utilisation des pandas
Utiliser l'impression dans l'expression lambda Python2
Comment installer et utiliser pandas_datareader [Python]
Comment faire R chartr () en Python
[python] Comment utiliser __command__, explication des fonctions
[Python] Comment utiliser import sys sys.argv
Comment faire un test de sac avec python
[Python] Organisation de l'utilisation des instructions
Mémorandum sur l'utilisation du python gremlin
[Python2.7] Résumé de l'utilisation d'unittest
Comment accéder à RDS depuis Lambda (python)
N'utilisez pas \ d dans les expressions régulières Python 3!
python: Comment utiliser les locals () et globals ()
Comment utiliser __slots__ dans la classe Python
Comment utiliser "deque" pour les données Python
Comment utiliser le zip Python et énumérer
[Python] Comprendre comment utiliser les fonctions récursives
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Jusqu'à ce que vous puissiez utiliser opencv avec python
Comment utiliser is et == en Python
[Question] Comment utiliser plot_surface de python
Comment créer un environnement lorsque vous souhaitez utiliser python2.7 après l'installation d'Anaconda3