Generación del conjunto potencia en Python

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En matemáticas, el conjunto potencia de un conjunto es el conjunto de todos los subconjuntos del conjunto, incluyendo el conjunto vacío y el conjunto mismo. En Python, podemos crear una función que devuelva el conjunto potencia de un iterable dado.

Conjunto potencia

Escribe una función de Python llamada powerset(iterable) que tome un iterable como argumento y devuelva el conjunto potencia del iterable. La función debe seguir estos pasos:

  1. Convertir el valor dado en una lista.
  2. Usar range() y itertools.combinations() para crear un generador que devuelva todos los subconjuntos.
  3. Usar itertools.chain.from_iterable() y list() para consumir el generador y devolver una lista.
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)]

Resumen

En este desafío, has aprendido cómo crear una función de Python que devuelve el conjunto potencia de un iterable dado. La función utiliza range() y itertools.combinations() para crear un generador que devuelve todos los subconjuntos, y itertools.chain.from_iterable() y list() para consumir el generador y devolver una lista.