Iterieren über alle zwei Elemente in einer Liste
In Python erfordert das Iterieren über eine Liste häufig die Verwendung einer for-Schleife oder eines Listenverständnisses. Wenn Sie jedoch auf alle zwei Elemente gleichzeitig zugreifen müssen, reichen die Standardmethoden möglicherweise nicht aus.
Um über jedes Elementpaar in einer Liste zu iterieren, können Sie pairwise() verwenden Implementierung:
def pairwise(iterable): "s -> (s0, s1), (s2, s3), (s4, s5), ..." a = iter(iterable) return zip(a, a) l = [1, 2, 3, 4, 5, 6] for x, y in pairwise(l): print(f"{x} + {y} = {x + y}")
Diese Funktion durchläuft die Liste zweimal und ordnet jedes Element dem nächsten zu. Es erzeugt eine Ausgabe ähnlich dieser:
1 + 2 = 3 3 + 4 = 7 5 + 6 = 11
Für eine allgemeinere Lösung betrachten Sie die Funktion grouped(), mit der Sie über Gruppen von n Elementen iterieren können:
def grouped(iterable, n): "s -> (s0,s1,s2,...sn-1), (sn,sn+1,sn+2,...s2n-1), (s2n,s2n+1,s2n+2,...s3n-1), ..." return zip(*[iter(iterable)] * n) for x, y in grouped(l, 2): print(f"{x} + {y} = {x + y}")
Diese Funktion verwendet eine Liste und eine Gruppengröße als Argumente und gibt einen Iterator zurück, der Gruppen von Elementen erzeugt. Der Aufruf von grouped([1, 2, 3, 4, 5, 6], 3) würde beispielsweise Folgendes ergeben:
(1, 2, 3) (4, 5, 6)
In Python 2 können Sie verwenden izip anstelle von zip aus Kompatibilitätsgründen.
Diese Methoden bieten effiziente und flexible Möglichkeiten zum Durchlaufen von Elementen in einer Liste, sodass Sie sie je nach Bedarf paarweise oder in Gruppen verarbeiten können.
Das obige ist der detaillierte Inhalt vonWie kann ich Paare oder Gruppen von Elementen in einer Python-Liste durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!