Fonction intégrée Python ~ Zip ~

introduction

Dans cet article, je voudrais parler de la "fonction zip" qui est une fonction intégrée de Python. J'ai connu l'existence de la "fonction zip" avant, et je l'utilise pour une raison quelconque, donc j'aimerais approfondir ma compréhension de la "fonction zip" dans cette période.

Qu'est-ce qu'une fonction zip?

Qu'est-ce qu'une "fonction zip" en premier lieu? En termes simples, il s'agit d'une collection de listes multiples données en arguments. Si vous souhaitez en savoir plus, cliquez ici. Bibliothèque standard Python

Utilisation de base

Comme utilisation de base, celle utilisée dans l'instruction for peut être mentionnée.

#Créez une liste de noms et d'âges
names = ['sato', 'suzuki', 'ito']
ages = [23, 21, 25]

for name, age in zip(names, ages):
    print('Nom:{},âge:{}'.format(name, age))

#Nom:sato,âge:23
#Nom:suzuki,âge:21
#Nom:ito,âge:25

Vous pouvez regrouper les deux listes de cette manière.

C'est également possible avec trois listes.

#Créez une liste de noms, d'âges et de villes d'origine
names = ['sato', 'suzuki', 'ito']
ages = [23, 21, 25]
birthplaces = ['Tokyo', 'Préfecture d'Aichi', 'Hokkaido']

for name, age, birthplace in zip(names, ages, birthplaces):
    print('Nom:{},âge:{},Lieu de naissance:{}'.format(name, age, birthplace))

#Nom:sato,âge:23,Lieu de naissance:Tokyo
#Nom:suzuki,âge:21,Lieu de naissance:Préfecture d'Aichi
#Nom:ito,âge:25,Lieu de naissance:Hokkaido

Vous le trouverez utile lorsque vous souhaitez dresser une liste.

Vous pouvez le rendre encore plus court si vous le composez simplement.

list(zip(names, ages))
#[('sato', '23'), ('suzuki', '21'), ('ito', '25')]

Cela le rendra comme un taple.

décompresser

Comment puis-je récupérer le zip? La réponse peut être faite en ajoutant "*" à l'argument.

zips = list(zip(names, ages))
names2, ages2 = zip(*zips)
print(names2)
#('sato', 'suzuki', 'ito')
print(ages2)
#(23, 21, 25)

Il sera retourné comme un taple comme celui-ci. Si vous voulez sortir sous forme de liste, placez-la dans "list ()".

zips = list(zip(names, ages))
names2, ages2 = list(zip(*zips))
print(names2)
#[('sato', 'suzuki', 'ito')]
print(ages2)
#[(23, 21, 25)]

Lorsque la longueur de la liste est différente

Voyons ce qui se passe lorsque les longueurs de liste sont différentes.

#Créez une liste de noms et d'âges
names = ['sato', 'suzuki', 'ito', 'kato', 'saitou']
ages = [23, 21, 25]

for name, age in zip(names, ages):
    print('Nom:{},âge:{}'.format(name, age))

#Nom:sato,âge:23
#Nom:suzuki,âge:21
#Nom:ito,âge:25

Si vous regardez cela, vous pouvez voir qu'il convient au plus court.

Remplissez les valeurs lorsque les longueurs de liste sont différentes

Auparavant, lorsque la longueur de la liste était différente, je pense avoir pu confirmer qu'elle correspond à la plus courte. Alors, comment adapter le plus long? Vous pouvez le faire en utilisant le "module zip_longest". Veuillez consulter ici pour plus de détails. module zip_longest

Voyons voir.

#Créez une liste de noms et d'âges
names = ['sato', 'suzuki', 'ito', 'kato', 'saitou']
ages = [23, 21, 25]

for name, age in zip_longest(names, ages):
    print('Nom:{},âge:{}'.format(name, age))

#Nom:sato,âge:23
#Nom:suzuki,âge:21
#Nom:ito,âge:25
#Nom:kato,âge:None
#Nom:saitou,âge:None

Vous pouvez voir qu'il est rempli de "Aucun" comme ça. "Aucun" est terne, alors saisissons plutôt l'âge moyen.

#zip_Importer le plus longtemps
from itertools import zip_longest

#Créez une liste de noms et d'âges
names = ['sato', 'suzuki', 'ito', 'kato', 'saitou']
ages = [23, 21, 25]

#Calculer l'âge moyen
age_mean = sum(ages) // len(ages)

#Spécifiez la valeur à remplir avec fillvalue
for name, age in zip_longest(names, ages, fillvalue=age_mean):
    print('Nom:{},âge:{}'.format(name, age))

#Nom:sato,âge:23
#Nom:suzuki,âge:21
#Nom:ito,âge:25
#Nom:kato,âge:23
#Nom:saitou,âge:23

Vous pouvez voir qu'il est rempli avec l'âge moyen.

Enfin, vérifions si les longueurs de trois listes ou plus sont différentes.

#zip_Importer le plus longtemps
from itertools import zip_longest

#Créez une liste de noms, d'âges et de villes d'origine
names = ['sato', 'suzuki', 'ito']
ages = [23, 21, 25]
birthplaces = ['Tokyo', 'Préfecture d'Aichi', 'Hokkaido', 'Préfecture de Yamanashi']

#Calculer l'âge moyen
age_mean = sum(ages) // len(ages)

#Spécifiez la valeur à remplir avec fillvalue
for name, age, birthplace in zip_longest(names, ages, birthplaces, fillvalue=age_mean):
    print('Nom:{},âge:{},Lieu de naissance:{}'.format(name, age, birthplace))

#Nom:sato,âge:23,Lieu de naissance:Tokyo
#Nom:suzuki,âge:21,Lieu de naissance:Préfecture d'Aichi
#Nom:ito,âge:25,Lieu de naissance:Hokkaido
#Nom:kato,âge:23,Lieu de naissance:Préfecture de Yamanashi
#Nom:saitou,âge:23,Lieu de naissance:23

Lorsque vous vérifiez le résultat de la sortie, le lieu de naissance de la dernière ligne est "23". Veuillez noter que vous ne pouvez remplir qu'une seule valeur de cette manière.

Veuillez vous référer à cet article pour les contre-mesures dans ce cas. Comment utiliser les fonctions Python et zip: Obtenez plusieurs éléments de liste à la fois

finalement

Cette fois, j'ai couvert la "fonction zip". Nous sommes impatients de vous aider. Nous continuerons à publier des articles sur les fonctions et les modules, alors jetez un œil si vous le souhaitez.

Recommended Posts

Fonction intégrée Python ~ Zip ~
Fonctions intégrées Wrap Python
Python intégré
Fonctions Python
Fonctions intégrées
zip en python
Objet intégré Python
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Fonctions Python faciles à utiliser
bases de python: fonctions
Fonctions intégrées de Python
Conquérir 69 fonctions intégrées de Python 6th p ~ r
Correspondance entre les fonctions intégrées de Python et Rust
Zip, décompressez avec python
Guide du débutant Python (fonctions)
Cours de base Python (12 fonctions)
[Python] Mémo sur les fonctions
Curry n'importe quelle fonction avec Python ...
Python> lambda> petites fonctions / fonctions de rappel
Introduction aux fonctions Python
Diverses opérations de chaîne avec Python intégré
Étude de Python Hour3: Fonctions
Remplacer les fonctions de bibliothèque en Python
Arguments de mots-clés pour les fonctions Python
Python #function 1 pour les super débutants
Paiza Python Primer 7: Comprendre les fonctions
Fonctions de tri et de comparaison Python 3
Fonctions Python apprises avec la chimioinfomatique
Fonctions d'ordre supérieur et notation d'inclusion en Python
Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Azure Functions: essayez des fonctions durables pour Python
[python] Gérer les fonctions dans une liste
Python
Extraire récursivement des fichiers zip avec python
À propos de Python dict et des fonctions triées
"Effective Python 2nd Edition" Chapitre 3 <Fonctions>
Examiner les fonctions intégrées (fonctions intégrées standard) à partir de globals
Utilisation de variables globales dans les fonctions python
Zip *: français
Définir dynamiquement des fonctions (méthodes) en Python
Comment utiliser la fonction zip de python
Python3> Fonctions> Mécanisme de changement de nom de fonction> f = fib
[Python3] Définir dynamiquement des variables globales dans une fonction
Créer un environnement pour Python intégré à Blender
[Introduction à l'application Udemy Python3 +] 55. Fonctions intégrées
Utilisez facilement vos propres fonctions en Python
Prenez la somme logique de List en Python (fonction zip)
[Ingénierie de contrôle] Représentation graphique des fonctions de transfert par Python
Essayez d'utiliser Python avec Google Cloud Functions
[Introduction à l'application Udemy Python3 +] 46. fonction zip
Résumé des méthodes intégrées, etc. de la liste Python
Comment utiliser le zip Python et énumérer
[Python] Comprendre comment utiliser les fonctions récursives
Utilisation des fonctions C ++ de python avec pybind11
Utiliser Python et MeCab avec Azure Functions