more = "moreerom" def foo(target, string): if target == "": return [[]] temp = [] for index, char in enumerate(string): if target[0] == char: res = foo(target[1:], string) temp += [[index, *j] for j in res] return temp output = lambda x: 'print(%s)' % ' + '.join(['more[{}]']*4).format(*x) print(*map(output, foo('more', more)), sep='\n')