Введение
В математике мощность множества - это множество всех подмножеств данного множества, включая пустое множество и само множество. В Python мы можем создать функцию, которая возвращает мощность заданного итерируемого объекта.
Мощность множества
Напишите функцию на Python под названием powerset(iterable), которая принимает итерируемый объект в качестве аргумента и возвращает мощность этого итерируемого объекта. Функция должна выполнять следующие шаги:
- Преобразовать заданное значение в список.
- Использовать
range()иitertools.combinations()для создания генератора, который возвращает все подмножества. - Использовать
itertools.chain.from_iterable()иlist(), чтобы обработать генератор и вернуть список.
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)]
Резюме
В этом испытании вы узнали, как создать функцию на Python, которая возвращает мощность заданного итерируемого объекта. Функция использует range() и itertools.combinations() для создания генератора, который возвращает все подмножества, а также itertools.chain.from_iterable() и list(), чтобы обработать генератор и вернуть список.