Kombinationen einer Liste in Python
-
Verwenden Sie die Funktion
itertools.combinations()
, um die Kombinationen einer Liste in Python zu finden -
Verwenden Sie die Funktion
itertools.combinations_with_replacement()
, um die Kombinationen einer Liste in Python zu finden -
Erstellen Sie eine benutzerdefinierte
powerset()
-Funktion, um die Kombinationen einer Liste in Python zu finden
Eine Kombination ist eine Technik, die die Anzahl möglicher Anordnungen in einer Sammlung von Elementen bestimmt. Bei einer Kombination von Elementen werden die Elemente in beliebiger Reihenfolge ausgewählt.
In diesem Tutorial finden wir die Gesamtkombinationen der Elemente einer Liste in Python.
Verwenden Sie die Funktion itertools.combinations()
, um die Kombinationen einer Liste in Python zu finden
Die Funktion combinations(list_name, x)
aus dem Modul itertools
nimmt den Listennamen und eine Zahl ‘x’ als Parameter und liefert eine Liste von Tupeln der Länge ‘x’ mit allen möglichen Kombinationen eines Elements in element die Liste mit den anderen Elementen.
Beispielsweise,
from itertools import combinations
A = [10, 5, "Hi"]
temp = combinations(A, 2)
for i in list(temp):
print(i)
Ausgabe:
(10, 5)
(10, 'Hi')
(5, 'Hi')
Eine sortierte Liste gibt die Kombinationstupel in sortierter Reihenfolge aus. Eine Kombination eines Elements der Liste mit sich selbst ist mit der Funktion combinations()
nicht möglich.
Verwenden Sie die Funktion itertools.combinations_with_replacement()
, um die Kombinationen einer Liste in Python zu finden
Die Funktion combinations_with_replacement(list_name, x)
aus dem Modul itertools
nimmt den Listennamen und eine Zahl ‘x’ als Parameter und gibt eine Liste von Tupeln der Länge ‘x’ zurück, die alle möglichen Kombinationen der Listenelemente enthält. Eine Kombination eines Elements in der Liste mit sich selbst ist mit dieser Funktion möglich.
Beispielsweise,
from itertools import combinations_with_replacement
A = [1, 5, "Hi"]
temp = combinations_with_replacement(A, 2)
for i in list(temp):
print(i)
Ausgabe:
(1, 1)
(1, 5)
(1, 'Hi')
(5, 5)
(5, 'Hi')
('Hi', 'Hi')
Erstellen Sie eine benutzerdefinierte powerset()
-Funktion, um die Kombinationen einer Liste in Python zu finden
In der Mathematik ist eine Potenzmenge einer beliebigen Menge eine Menge, die alle möglichen Teilmengen einer gegebenen Menge zusammen mit einer leeren Menge enthält. Potenzmenge der Menge S = {2, 5, 10}
ist {{}, {2}, {5}, {10}, {2, 5}, {2, 10}, {5, 10}, {2, 5, 10}}
. Die folgende Funktion powerset()
wird verwendet, um alle Längen ‘r’ der Liste zu durchlaufen und alle möglichen Kombinationen der Elemente der Liste auszugeben.
Beispielsweise,
from itertools import chain, combinations
def powerset(list_name):
s = list(list_name)
return chain.from_iterable(combinations(s, r) for r in range(len(s) + 1))
A = [60, 7, "Hi"]
for x in powerset(A):
print(x)
Ausgabe:
()
(1,)
(5,)
('Hi',)
(1, 5)
(1, 'Hi')
(5, 'Hi')
(1, 5, 'Hi')
Verwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert