Wie generiert man effizient alle Kombinationen der Länge n aus einer Liste in Python?

Mary-Kate Olsen
Freigeben: 2024-11-19 16:24:02
Original
722 Leute haben es durchsucht

How to Efficiently Generate All Combinations of Length n from a List in Python?

Ermitteln aller (n-choose-k) Kombinationen der Länge n

Beim Arbeiten mit einer Liste von Zahlen kann dies erforderlich sein Generieren Sie alle Kombinationen einer angegebenen Länge n aus dieser Liste. Dies kann effizient mit dem itertools-Modul in Python erreicht werden.

Um diese Kombinationen zu erhalten, verwenden Sie die Funktion itertools.combinations(). Diese Funktion benötigt zwei Argumente: die Eingabeliste und die gewünschte Länge n. Es gibt einen Iterator zurück, der alle möglichen Kombinationen der Länge n der Reihe nach generiert.

Betrachten Sie beispielsweise die Liste [1, 2, 3, 4] und die Länge n = 3. Mit itertools.combinations() Wir können die folgenden Kombinationen erhalten:

import itertools

for comb in itertools.combinations([1, 2, 3, 4], 3):
    print(comb)
Nach dem Login kopieren

Ausgabe:

(1, 2, 3)
(1, 2, 4)
(1, 3, 4)
(2, 3, 4)
Nach dem Login kopieren

Dieser Ansatz ist effizient und einfach zu implementieren, was ihn zu einer praktischen Lösung zum Generieren von Kombinationen einer bestimmten Länge aus a macht Liste der Zahlen.

Das obige ist der detaillierte Inhalt vonWie generiert man effizient alle Kombinationen der Länge n aus einer Liste in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage