Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python alle Kombinationen von Elementen aus einer Liste von Listen generieren?

Wie kann ich in Python alle Kombinationen von Elementen aus einer Liste von Listen generieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-02 16:54:11411Durchsuche

How can I generate all combinations of elements from a list of lists in Python?

Alle Kombinationen einer Liste von Listen generieren

Beim Umgang mit verschachtelten Datenstrukturen ist es wichtig, diese effizient zu bearbeiten. Eine häufige Aufgabe besteht darin, alle möglichen Kombinationen von Elementen über mehrere Listen hinweg abzurufen.

Für Python-Entwickler bietet die Funktion itertools.product eine prägnante und elegante Lösung für dieses Problem. Es verwendet mehrere Iterables als Argumente und generiert Tupel, die alle möglichen Kombinationen von Elementen aus jedem Iterable darstellen.

Antwort:

Um alle Kombinationen von Elementen in einer Liste von Listen zu generieren , verwenden Sie itertools.product wie folgt:

import itertools

my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]

result = list(itertools.product(*my_list))

Dadurch wird eine Liste von Tupeln erstellt, die jeweils a darstellen einzigartige Kombination von Elementen aus den Eingabelisten.

Beispielausgabe:

[(1, 4, 7), (1, 4, 8), (1, 4, 9), (1, 4, 10), (1, 5, 7), (1, 5, 8), (1, 5, 9), (1, 5, 10),
(1, 6, 7), (1, 6, 8), (1, 6, 9), (1, 6, 10), (2, 4, 7), (2, 4, 8), (2, 4, 9), (2, 4, 10),
(2, 5, 7), (2, 5, 8), (2, 5, 9), (2, 5, 10), (2, 6, 7), (2, 6, 8), (2, 6, 9), (2, 6, 10),
(3, 4, 7), (3, 4, 8), (3, 4, 9), (3, 4, 10), (3, 5, 7), (3, 5, 8), (3, 5, 9), (3, 5, 10),
(3, 6, 7), (3, 6, 8), (3, 6, 9), (3, 6, 10)]

Die Verwendung von itertools.product ist eine bequeme und effiziente Möglichkeit, alle möglichen Kombinationen von Elementen zu generieren aus komplexen Datenstrukturen in Python.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python alle Kombinationen von Elementen aus einer Liste von Listen generieren?. 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