from itertools import combinations input = ['1', '2', '3', '4' ] output = sum([map(list, combinations(input, i)) for i in range(len(input) + 1)], []) print output
Standard input is empty
[[], ['1'], ['2'], ['3'], ['4'], ['1', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4'], ['3', '4'], ['1', '2', '3'], ['1', '2', '4'], ['1', '3', '4'], ['2', '3', '4'], ['1', '2', '3', '4']]