Prüfung mit all() und zip()
In diesem Schritt lernen Sie, wie Sie die Funktionen all()
und zip()
verwenden können, um zu prüfen, ob eine Liste sortiert ist. Diese Funktionen bieten eine kompakte und effiziente Möglichkeit, die Reihenfolge der Elemente in einer Liste zu überprüfen.
Zunächst verstehen wir die Funktion zip()
. Die Funktion zip()
nimmt mehrere iterierbare Objekte (z. B. Listen) als Eingabe und gibt einen Iterator von Tupeln zurück, wobei jedes Tupel die entsprechenden Elemente aus den Eingabe-iterierbaren Objekten enthält.
Betrachten Sie das folgende Beispiel:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
zipped = zip(list1, list2)
print(list(zipped))
Fügen Sie diesen Code in Ihre sort_list.py
-Datei ein und ersetzen Sie den vorherigen Inhalt. Führen Sie dann das Skript aus:
python sort_list.py
Sie sollten die folgende Ausgabe sehen:
[(1, 4), (2, 5), (3, 6)]
Die Funktion zip()
hat einen Iterator erstellt, der Tupel mit den entsprechenden Elementen aus list1
und list2
liefert.
Jetzt verstehen wir die Funktion all()
. Die Funktion all()
nimmt ein iterierbares Objekt als Eingabe und gibt True
zurück, wenn alle Elemente im iterierbaren Objekt wahr sind, und False
sonst.
Betrachten Sie das folgende Beispiel:
bool_list = [True, True, True]
print(all(bool_list))
bool_list = [True, False, True]
print(all(bool_list))
Fügen Sie diesen Code in Ihre sort_list.py
-Datei ein und führen Sie ihn aus:
python sort_list.py
Sie werden die folgende Ausgabe sehen:
True
False
Jetzt kombinieren wir zip()
und all()
, um zu prüfen, ob eine Liste sortiert ist. Die Idee besteht darin, jedes Element mit dem nächsten Element in der Liste zu vergleichen und zu prüfen, ob die Liste in aufsteigender Reihenfolge ist.
numbers = [1, 2, 3, 4, 5]
is_sorted = all(numbers[i] <= numbers[i+1] for i in range(len(numbers)-1))
print(is_sorted)
numbers = [1, 2, 5, 4, 5]
is_sorted = all(numbers[i] <= numbers[i+1] for i in range(len(numbers)-1))
print(is_sorted)
Ändern Sie Ihre sort_list.py
-Datei, um diesen Code einzubeziehen. Führen Sie das Skript erneut aus:
python sort_list.py
Sie sollten die folgende Ausgabe sehen:
True
False
Dieser Code verwendet einen Generator-Ausdruck mit zip()
, um benachbarte Elemente in der Liste zu vergleichen. Die Funktion all()
prüft dann, ob alle Vergleiche wahr sind, was darauf hinweist, dass die Liste sortiert ist.
Dieser Ansatz bietet eine kompakte und effiziente Möglichkeit, zu prüfen, ob eine Liste in Python sortiert ist.