Referenzseite: [Einführung in Python] Verwenden wir foreach mit Python
Foreach ist eine sich wiederholende Anweisung, die häufig in Skriptsprachen verwendet wird. Es wird sehr oft verwendet, wenn Sie den Inhalt aus einem Array herausnehmen und wiederholt verarbeiten möchten. Wenn Sie eine Skriptsprache verwenden, ist es oft wünschenswert, einen einheitlichen Prozess zu haben. Wenn Sie also sich wiederholende Sätze beherrschen, verbessert sich die Verarbeitbarkeit definitiv.
Lassen Sie uns zunächst eine kleine foreach-Anweisung in Perl schreiben, einer typischen Skriptsprache.
my @sports = ("baseball", "tennis", "soccer", "volleyball");
foreach my $name (@sports){
print "$name\n"
}
$ perl foreach.pl
baseball
tennis
soccer
volleyball
In der foreach-Anweisung greifen wir vom ersten Array mit dem Namen sports zu und zeigen die Elemente weiter an, bis wir das letzte Element erreichen.
Inhaltsverzeichnis 1 [Versuchen wir es mit Python](Versuchen wir es mit Python) 2 [Tipps für die For-Anweisung: Beherrschen Sie die bequemere Verwendung mit dem Gefühl von foreach](Tipps für die For-Anweisung: Beherrschen Sie die bequemere Verwendung mit dem Gefühl von foreach) 2.1 [Ich möchte den Inhalt des Arrays in umgekehrter Reihenfolge anzeigen](Ich möchte den Inhalt des Arrays in umgekehrter Reihenfolge anzeigen) 2.2 [Ich möchte den Inhalt des Arrays in aufsteigender Reihenfolge anzeigen](Ich möchte den Inhalt des Arrays in aufsteigender Reihenfolge anzeigen) 2.3 [Ich möchte den Inhalt des Arrays in absteigender Reihenfolge anzeigen](Ich möchte den Inhalt des Arrays in absteigender Reihenfolge anzeigen) 2.4 [Ich möchte die Elementnummer wissen](Ich möchte die Elementnummer wissen)]
Versuchen wir es jetzt mit Python! Allerdings hat Python eigentlich keine Funktion namens foreach. Was also zu tun ist, ist, dass die for-Anweisung übernimmt.
Schreiben wir es konkret.
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for name in sports:
... print name
...
baseball
tennis
soccer
volleyball
Auf diese Weise können Sie wiederholte Anweisungen in Python mit fast derselben Beschreibung wie foreach ausführen.
Wenn ich versuche, den Inhalt des Arrays in umgekehrter Reihenfolge mit der Skriptsprache wie Perl anzuzeigen, ・ Packen Sie das Array in umgekehrter Reihenfolge neu und zeigen Sie es an.
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for name in reversed(sports):
... print name
...
volleyball
soccer
tennis
baseball
Sie können die Reihenfolge einfach umkehren, indem Sie dem auf diese Weise zu lesenden Array reverse () hinzufügen.
Möglicherweise möchten Sie ein Array nicht zusammenhängender Zahlen in aufsteigender Reihenfolge anzeigen. Versuchen Sie in diesem Fall Folgendes.
>>> numbers = [8, 2, 7, 4, 3]
>>> for num in sorted(numbers):
... print num
...
2
3
4
7
8
Mit der folgenden sortierten Funktion können Sie einfach sortieren.
Im vorherigen Beispiel wurde es in aufsteigender Reihenfolge angezeigt. In einigen Fällen möchten Sie jedoch möglicherweise in absteigender Reihenfolge sortieren. In diesem Fall können Sie wie folgt schreiben.
>>> numbers = [8, 2, 7, 4, 3]
>>> for num in sorted(numbers, reverse=True):
... print num
...
8
7
4
3
2
>>>
Sie können in absteigender Reihenfolge sortieren, indem Sie das Schlüsselwort umgekehrt der sortierten Funktion auf True setzen.
Möglicherweise möchten Sie die Nummer des Array-Elements wissen, auf das Sie gerade zugreifen. In einem solchen Fall gibt es zwei Methoden.
・ Methode mit Bereichsfunktion
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for i in range(0, len(sports)):
... print i, sports[i]
...
0 baseball
1 tennis
2 soccer
3 volleyball
Dies ist ein C-sprachiges Gefühl. So verwenden Sie die Bereichsfunktion, um die Elementnummer des Arrays zu bestimmen, auf das zugegriffen werden soll. Es ist der richtige Weg, aber es ist ein wenig nervig. Wenn Sie für jedes Häkchen, wie Sie diesmal gelernt haben, einfach vorgehen möchten, probieren Sie die folgende Methode aus.
・ Methode mit der Aufzählungsfunktion
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for i, name in enumerate(sports):
... print i, name
...
0 baseball
1 tennis
2 soccer
3 volleyball
Im Gegensatz zur früheren Verwendung der Bereichsfunktion wäre es schön, eine erfrischende Beschreibung schreiben zu können, ohne beschreiben zu müssen, wo das Array angezeigt werden soll.
Ich möchte zwei Arrays zusammen anzeigen Wenn Sie zwei Arrays haben und diese zusammen verarbeiten möchten, können Sie die Zip-Funktion verwenden. Ein Beispiel sieht so aus:
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> people = ["Ichiro", "Nishikori", "Nakata"]
>>> for name, person in zip(sports, people):
... print name, person
...
baseball Ichiro
tennis Nishikori
soccer Nakata
Der Trick dabei ist, dass selbst wenn die Anzahl der Elemente im Array unterschiedlich ist, diese automatisch entsprechend der kürzeren verarbeitet werden sollten.
Recommended Posts