Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Paare oder Gruppen von Elementen in einer Python-Liste durchlaufen?

Wie kann ich Paare oder Gruppen von Elementen in einer Python-Liste durchlaufen?

Susan Sarandon
Susan SarandonOriginal
2024-12-15 21:20:13611Durchsuche

How Can I Iterate Over Pairs or Groups of Elements in a Python List?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn