Наборы мощности в Python - PullRequest
       0

Наборы мощности в Python

0 голосов
/ 14 февраля 2020

Мой код не работает для создания наборов мощности в python. Это очень близко, но не правильно, и я не знаю, как это улучшить. Набор мощности - это когда вы берете набор, а затем возвращаете кортеж всех возможных результатов. Я хочу, чтобы часть set () была в начале, а также чтобы результат был SETS, а не другие вещи. Например:

A power set of {1,2,3} would be:
[set(), {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, {1, 2, 3}]

Вот мой код, и он почти делает это, но не совсем.

def power_set(lst):
  result = [[]]
  for x in lst:
    result.extend([subset + [x] for subset in result])
  return result

Вот несколько тестовых примеров того, что он должен делать и что делает

#What it does
power_set({1,2,3}
>>>[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
#What it should do (like stated above)
power_set({1,2,3})
>>>[set(), {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, {1, 2, 3}]

Это НЕ ДОМАШНЯЯ РАБОТА, я делаю это как проект, чтобы лучше понимать наборы, но я не могу сделать это один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...