Power set of a sequence

Run without arguments
Anonymous
python
01/17/2022 11:43 AM
524 B
18
Indexable
# Define powerset of *any* sequence.
def powerset(sequence):
  sequence = list(sequence)
  subsets = []
  for s in range(2**len(sequence)):
    subset = []
    for k in range(len(sequence)):            
      if s & 1<<k:
        subset.append(sequence[k])
    subsets.append(set(subset))        
  return subsets

# Execute powerset.
if __name__ == "__main__":
    print(powerset({0, 1, 2}))
Editor is loading...