Élément de mémo Python efficace 11 Utilisez zip pour traiter les itérateurs en parallèle

Il s'agit d'un mémo écrit du livre efficace python d'O'Reilly Japan. https://www.oreilly.co.jp/books/9784873117560/ P21~23

Prenons le cas du traitement de plusieurs éléments de liste en parallèle

** Extraire le nom avec les caractères les plus longs **

names = ['Cecilia', 'Lise', 'Marie' ]
letters = [len(n) for n in names]

longest_name = None
max_letters = 0

#Modèle 1
for i in range(len(names)):
    count = letters[i]
    if count > max_letters:
        longest_name = names[i]
        max_letters = count

print(longest_name)

>>>
Cecilia

Il n'y a pas de problème syntaxique, mais on voit mal qu'on y accède deux fois avec l'indice de la liste. De plus, si la liste est extrêmement longue, il n'est pas écologique d'élargir tout le contenu, je voudrais donc la résoudre avec un générateur.

for name, count in zip(names, letters): #Faites attention à la taille de l'élément zip
    if count > max_letters:
        longest_name = name
        maxx_letters = count
        
print(longest_name)

>>>
Cecilia

Si vous utilisez zip (), la liste des contenus est retournée en parallèle par le générateur, il s'agit donc d'une spécification conviviale pour la mémoire. En outre, il est plus facile à voir qu'autre chose.

Cependant, si les éléments du zip ne correspondent pas. Notez que l'ensemble se terminera lorsque l'itérateur le plus court sera épuisé.

Recommended Posts

Élément de mémo Python efficace 11 Utilisez zip pour traiter les itérateurs en parallèle
EP 11 Utiliser `zip` pour traiter les itérateurs en parallèle
Élément de mémo Python efficace 3
Élément de mémo Python efficace 18 Utilisez des arguments de position de longueur variable pour rendre l'apparence plus propre
[R] [Python] Memo pour lire plusieurs fichiers csv dans plusieurs fichiers zip
Élément de mémo Python efficace 19 Donner un comportement facultatif aux arguments de mot-clé
Comment utiliser SQLite en Python
Comment utiliser Mysql avec python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment utiliser la fonction zip de python
[Introduction à Python] Comment utiliser la classe en Python?
Mémo Python efficace Élément 10 Énumérer à partir de la plage
Un moyen simple d'utiliser Wikipedia avec Python
Comment utiliser __slots__ dans la classe Python
Comment utiliser le zip Python et énumérer
Comment utiliser les expressions régulières en Python
Comment utiliser is et == en Python
Élément de mémoire Python efficace 7 Utilisez la notation d'inclusion de liste au lieu de la carte et du filtre
Élément de mémo Python efficace 8 Évitez trois expressions ou plus dans la notation d'inclusion de liste
Comment utiliser la bibliothèque d'images Python dans la série python3
Résumé de l'utilisation de MNIST avec Python
Utilisez un module de cryptographie qui gère OpenSSL en Python
Comment utiliser tkinter avec python dans pyenv
Utilisez os.getenv pour obtenir des variables d'environnement en Python
[Pour les débutants] Comment utiliser la commande say avec python!
Utilisez config.ini avec Python
Utiliser des dates en Python
Utiliser Valgrind avec Python
Téléchargement parallèle avec Python
Convertissez l'image au format .zip en PDF avec Python
J'ai essayé de résumer comment utiliser les pandas de python
[Python] Retry processing (Exponential Backoff) mémo dans AWS Lambda
Utiliser le profileur en Python
Comment utiliser le modèle appris dans Lobe en Python
Je veux utiliser le jeu de données R avec python
[C / C ++] Passez la valeur calculée en C / C ++ à une fonction python pour exécuter le processus et utilisez cette valeur en C / C ++.
Le traitement parallèle de Python joblib ne fonctionne pas dans l'environnement uWSGI. Comment traiter en parallèle sur uWSGI?
Sortie "Dessiner fougère par programmation" dans le processus de dessin en Python
Élément de mémo Python efficace 9 Considérons une expression de générateur pour la notation d'inclusion de grande
Comment utiliser la méthode __call__ dans la classe Python
[Introduction à l'application Udemy Python3 +] 36. Utilisation de In et Not
[Route vers Python intermédiaire] Utiliser l'instruction if dans la notation d'inclusion de liste
Comment développer dans un environnement virtuel Python [Memo]
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Voyons comment utiliser def en python
Utiliser l'expression let en Python
Utiliser le protocole de mesure avec Python
python3: Comment utiliser la bouteille (2)
Utiliser la fonction de rappel en Python
Utiliser le magasin de paramètres en Python
[Python] Comment utiliser la liste 1
Exécuter Python unittest en parallèle
Connectez-vous au site Web en Python
Utiliser le cache HTTP en Python
Utilisez l'ODM de MongoDB avec Python
Utiliser un dict clé de liste en Python
Comment utiliser Python Argparse
Utiliser Random Forest avec Python
Utilisez Spyder de Python IDE