Kombinationen einer Liste in Python

Samyak Jain 30 Januar 2023
  1. Verwenden Sie die Funktion itertools.combinations(), um die Kombinationen einer Liste in Python zu finden
  2. Verwenden Sie die Funktion itertools.combinations_with_replacement(), um die Kombinationen einer Liste in Python zu finden
  3. Erstellen Sie eine benutzerdefinierte powerset()-Funktion, um die Kombinationen einer Liste in Python zu finden
Kombinationen einer Liste in Python

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