scala - Why doesn't this Python code for powerset work? -
i can't identify blatantly wrong except trying scala-type operations python. def powerset(arr): if len(arr) == 0: return [] elif len(arr) > 1: return powerset(arr[1:])+[arr[0]] i consistently error: return powerset(arr[1:])+[arr[0]] typeerror: unsupported operand type(s) +: 'nonetype' , 'list' if len(arr) == 1 nothing returned ... just change def powerset(arr): if len(arr)>0: return powerset(arr[1:])+[arr[0]] else: return [] here powerset function https://docs.python.org/2/library/itertools.html def powerset(iterable): "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)" s = list(iterable) return chain.from_iterable(combinations(s, r) r in range(len(s)+1)) here powerset implementation uses less magic def powerset(seq): """ returns subsets of set. generator. """ if len