import itertools

def func(mylist, letter):
    L = []
for i in range(len(mylist)):
    L.append(list(itertools.combinations(mylist, i + 1)))
return [letter.join(i) for i in itertools.chain.from_iterable(L)]
func(['a', 'b', 'c'], 'x')
Python, рекурсивно сократить список (комбинации/перестановки)