Мой код не работает для создания наборов мощности в 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}]
Это НЕ ДОМАШНЯЯ РАБОТА, я делаю это как проект, чтобы лучше понимать наборы, но я не могу сделать это один.