# Uses built‑in itertools
# Returns tuples
from itertools import combinations
def all_subsets(nums):
subsets = []
for r in range(len(nums) + 1):
subsets.extend(combinations(nums, r))
return subsets
print(all_subsets([1, 2, 3]))
'''
run:
[(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]
'''