Materia
Ejercicios


anterior | siguiente

Conjunto potencia

El conjunto potencia de un conjunto S es el conjunto de todos los subconjuntos de S.

Por ejemplo, el conjunto potencia de \(\{1, 2, 3\}\) es:

\[\left\{ \emptyset, \{1\}, \{2\}, \{3\}, \{1, 2\}, \{1, 3\}, \{2, 3\}, \{1, 2, 3\} \right\}\]

En Python, un conjunto no puede contener a otros conjuntos, ya que no puede tener elementos mutables, y los conjuntos lo son:

>>> a = set()
>>> a.add({1, 2})        # :(
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: unhashable type: 'set'

Lo que sí podemos crear es una lista de conjuntos:

>>> l = list()
>>> l.append({1, 2})     # :)
>>> l
[set([1, 2])]

Escriba la función conjunto_potencia(s) que reciba como parámetro un conjunto cualquiera s y retorne su «lista potencia» (la lista de todos sus subconjuntos):

>>> conjunto_potencia({6, 1, 4})
[set(), set([6]), set([1]), set([4]), set([6, 1]), set([6, 4]), set([1, 4]), set([6, 1, 4])]