[GO] In Python integrierte Funktion ~ Zip ~

Einführung

In diesem Artikel möchte ich über die "Zip-Funktion" sprechen, die eine in Python integrierte Funktion ist. Ich habe die Existenz der "Zip-Funktion" schon einmal gekannt und habe sie aus irgendeinem Grund verwendet. Daher möchte ich mein Verständnis der "Zip-Funktion" in dieser Zeit vertiefen.

Was ist eine Zip-Funktion?

Was ist überhaupt eine "Zip-Funktion"? Einfach ausgedrückt handelt es sich um eine Sammlung mehrerer Listen, die als Argumente angegeben werden. Wenn Sie mehr wissen möchten, klicken Sie bitte hier. Python-Standardbibliothek

Grundlegende Verwendung

Als Grundverwendung kann die in der for-Anweisung verwendete verwendet werden.

#Erstellen Sie eine Liste mit Namen und Alter
names = ['sato', 'suzuki', 'ito']
ages = [23, 21, 25]

for name, age in zip(names, ages):
    print('Name:{},Alter:{}'.format(name, age))

#Name:sato,Alter:23
#Name:suzuki,Alter:21
#Name:ito,Alter:25

Auf diese Weise können Sie die beiden Listen zusammenstellen.

Es ist auch mit drei Listen möglich.

#Erstellen Sie eine Liste mit Namen, Alter und Heimatstädten
names = ['sato', 'suzuki', 'ito']
ages = [23, 21, 25]
birthplaces = ['Tokio', 'Präfektur Aichi', 'Hokkaido']

for name, age, birthplace in zip(names, ages, birthplaces):
    print('Name:{},Alter:{},Geburtsort:{}'.format(name, age, birthplace))

#Name:sato,Alter:23,Geburtsort:Tokio
#Name:suzuki,Alter:21,Geburtsort:Präfektur Aichi
#Name:ito,Alter:25,Geburtsort:Hokkaido

Sie finden es nützlich, wenn Sie eine Liste zusammenstellen möchten.

Sie können es noch kürzer machen, wenn Sie es einfach zusammensetzen.

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

Dies wird es als Taple zurückgeben.

entpacken

Wie kann ich den Reißverschluss wieder zusammen bekommen? Die Antwort kann durch Hinzufügen von "*" zum Argument erfolgen.

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

Es wird als solcher Taple zurückgegeben. Wenn Sie als Liste ausgeben möchten, fügen Sie sie in "list ()" ein.

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

Wenn die Listenlänge unterschiedlich ist

Mal sehen, was passiert, wenn die Listenlängen unterschiedlich sind.

#Erstellen Sie eine Liste mit Namen und Alter
names = ['sato', 'suzuki', 'ito', 'kato', 'saitou']
ages = [23, 21, 25]

for name, age in zip(names, ages):
    print('Name:{},Alter:{}'.format(name, age))

#Name:sato,Alter:23
#Name:suzuki,Alter:21
#Name:ito,Alter:25

Wenn Sie sich das ansehen, können Sie sehen, dass es für das kürzere geeignet ist.

Geben Sie Werte ein, wenn die Listenlängen unterschiedlich sind

Früher, als die Länge der Liste unterschiedlich war, konnte ich bestätigen, dass sie zu der kürzeren passt. Wie passt der längere? Sie können dies mit dem "zip_longest-Modul" tun. Bitte sehen Sie hier für Details. zip_longest-Modul

Mal sehen.

#Erstellen Sie eine Liste mit Namen und Alter
names = ['sato', 'suzuki', 'ito', 'kato', 'saitou']
ages = [23, 21, 25]

for name, age in zip_longest(names, ages):
    print('Name:{},Alter:{}'.format(name, age))

#Name:sato,Alter:23
#Name:suzuki,Alter:21
#Name:ito,Alter:25
#Name:kato,Alter:None
#Name:saitou,Alter:None

Sie können sehen, dass es mit "Keine" wie diesem gefüllt ist. "Keine" ist langweilig, also geben wir stattdessen das Durchschnittsalter ein.

#zip_Am längsten importieren
from itertools import zip_longest

#Erstellen Sie eine Liste mit Namen und Alter
names = ['sato', 'suzuki', 'ito', 'kato', 'saitou']
ages = [23, 21, 25]

#Durchschnittsalter berechnen
age_mean = sum(ages) // len(ages)

#Geben Sie den Wert an, der mit Füllwert gefüllt werden soll
for name, age in zip_longest(names, ages, fillvalue=age_mean):
    print('Name:{},Alter:{}'.format(name, age))

#Name:sato,Alter:23
#Name:suzuki,Alter:21
#Name:ito,Alter:25
#Name:kato,Alter:23
#Name:saitou,Alter:23

Sie können sehen, dass es mit dem Durchschnittsalter gefüllt ist.

Lassen Sie uns abschließend prüfen, ob die Länge von drei oder mehr Listen unterschiedlich ist.

#zip_Am längsten importieren
from itertools import zip_longest

#Erstellen Sie eine Liste mit Namen, Alter und Heimatstädten
names = ['sato', 'suzuki', 'ito']
ages = [23, 21, 25]
birthplaces = ['Tokio', 'Präfektur Aichi', 'Hokkaido', 'Präfektur Yamanashi']

#Durchschnittsalter berechnen
age_mean = sum(ages) // len(ages)

#Geben Sie den Wert an, der mit Füllwert gefüllt werden soll
for name, age, birthplace in zip_longest(names, ages, birthplaces, fillvalue=age_mean):
    print('Name:{},Alter:{},Geburtsort:{}'.format(name, age, birthplace))

#Name:sato,Alter:23,Geburtsort:Tokio
#Name:suzuki,Alter:21,Geburtsort:Präfektur Aichi
#Name:ito,Alter:25,Geburtsort:Hokkaido
#Name:kato,Alter:23,Geburtsort:Präfektur Yamanashi
#Name:saitou,Alter:23,Geburtsort:23

Wenn Sie das Ausgabeergebnis überprüfen, ist der Geburtsort der letzten Zeile "23". Bitte beachten Sie, dass Sie auf diese Weise nur einen Wert eingeben können.

In diesem Fall finden Sie in diesem Artikel Gegenmaßnahmen. Verwendung von Python- und Zip-Funktionen: Mehrere Listenelemente gleichzeitig abrufen

Schließlich

Dieses Mal habe ich die "Zip-Funktion" behandelt. Wir freuen uns darauf, Ihnen zu helfen. Wir werden weiterhin Artikel über Funktionen und Module veröffentlichen. Schauen Sie also bitte vorbei, wenn Sie möchten.

Recommended Posts

In Python integrierte Funktion ~ Zip ~
Integrierte Funktionen von Wrap Python
Eingebaute Python
Python-Funktionen
Eingebaute Funktionen
Python Zip
Integriertes Python-Objekt
# Python-Grundlagen (Funktionen)
[Anfänger] Python-Funktionen
Python Einfach zu bedienende Funktionen
Python-Grundlagen: Funktionen
Integrierte Funktionen von Python
Erobern Sie 69 integrierte Funktionen von Python 6th p ~ r
Korrespondenz zwischen den in Python integrierten Funktionen und Rust
Zip, entpacken mit Python
Python-Anfängerhandbuch (Funktionen)
Python-Grundkurs (12 Funktionen)
[Python] Memo über Funktionen
Curry jede Funktion mit Python ....
Python> Lambda> winzige Funktionen / Rückruffunktionen
Einführung in Python-Funktionen
Verschiedene String-Operationen in Python integriert
Studie aus Python Hour3: Funktionen
Überschreiben Sie Bibliotheksfunktionen in Python
Schlüsselwortargumente für Python-Funktionen
Python #Funktion 1 für Super-Anfänger
Paiza Python Primer 7: Funktionen verstehen
Python 3 Sortier- und Vergleichsfunktionen
Python-Funktionen mit Chemoinfomatik gelernt
Funktionen höherer Ordnung und Einschlussnotation in Python
Python-Steuerungssyntax, Funktionen (Python-Lernnotiz ②)
Azure-Funktionen: Probieren Sie dauerhafte Funktionen für Python aus
[Python] Verwalten Sie Funktionen in einer Liste
Python
Extrahieren Sie Zip-Dateien rekursiv mit Python
Über Python-Diktat und sortierte Funktionen
"Effective Python 2nd Edition" Kapitel 3 <Funktionen>
Untersuchen Sie integrierte Funktionen (integrierte Standardfunktionen) von Globals
Verwendung globaler Variablen in Python-Funktionen
Postleitzahl
Definieren Sie Funktionen (Methoden) in Python dynamisch
Verwendung der Zip-Funktion von Python
Python3> Funktionen> Funktionsumbenennungsmechanismus> f = fib
[Python3] Definieren Sie globale Variablen in einer Funktion dynamisch
Erstellen Sie eine Umgebung für das in Blender integrierte Python
[Einführung in die Udemy Python3 + -Anwendung] 55. In-Function-Funktionen
Verwenden Sie einfach Ihre eigenen Funktionen in Python
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
[Steuerungstechnik] Grafische Darstellung der Übertragungsfunktionen von Python
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
[Einführung in die Udemy Python3 + -Anwendung] 46. Zip-Funktion
Zusammenfassung der integrierten Methoden usw. der Python-Liste
Verwendung von Python zip und Aufzählung
[Python] Verstehen, wie rekursive Funktionen verwendet werden
Verwenden von C ++ - Funktionen aus Python mit pybind11
Verwenden Sie Python und MeCab mit Azure-Funktionen