вы можете использовать понимание списка с f-строками:
print(*[f"{''.join(x[:i])}-{''.join(x[i:])}" for i in range(1, len(x))], sep='\n')
вывод:
Zwi-schenabschlusses
Zwische-nabschlusses
Zwischen-abschlusses
Zwischenab-schlusses
Zwischenabschlus-ses
или вы можете использовать генератор с методом join
:
def generate_str(x):
add_word = ''
for word_index, word in enumerate(x[:-1]):
add_word += word
yield f"{add_word}-{''.join(x[word_index + 1:])}"
print('\n'.join(generate_str(x)))
выход:
Zwi-schenabschlusses
Zwische-nabschlusses
Zwischen-abschlusses
Zwischenab-schlusses
Zwischenabschlus-ses