Potenzmengegenerierung in Python

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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:

  1. Konvertieren Sie den gegebenen Wert in eine Liste.
  2. Verwenden Sie range() und itertools.combinations(), um einen Generator zu erstellen, der alle Teilmengen zurückgibt.
  3. Verwenden Sie itertools.chain.from_iterable() und list(), 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.