Einführung
In der Mathematik ist die Potenzmenge einer Menge die Menge aller Teilmengen der Menge, einschließlich der leeren Menge und der Menge selbst. In Python können wir eine Funktion erstellen, die die Potenzmenge eines gegebenen Iterierbaren zurückgibt.
Potenzmenge
Schreiben Sie eine Python-Funktion namens powerset(iterable), die ein Iterierbares als Argument nimmt und die Potenzmenge des Iterierbaren zurückgibt. Die Funktion sollte die folgenden Schritte ausführen:
- Konvertieren Sie den gegebenen Wert in eine Liste.
- Verwenden Sie
range()unditertools.combinations(), um einen Generator zu erstellen, der alle Teilmengen zurückgibt. - Verwenden Sie
itertools.chain.from_iterable()undlist(), um den Generator zu verbrauchen und eine Liste zurückzugeben.
from itertools import chain, combinations
def powerset(iterable):
s = list(iterable)
return list(chain.from_iterable(combinations(s, r) for r in range(len(s)+1)))
powerset([1, 2]) ## [(), (1,), (2,), (1, 2)]
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie eine Python-Funktion erstellen, die die Potenzmenge eines gegebenen Iterierbaren zurückgibt. Die Funktion verwendet range() und itertools.combinations(), um einen Generator zu erstellen, der alle Teilmengen zurückgibt, und itertools.chain.from_iterable() und list(), um den Generator zu verbrauchen und eine Liste zurückzugeben.