Уже даны хорошие ответы. Просто хочу добавить мой, который является одним вкладышем (просто для разнообразия). В идеале вы должны использовать хорошо читаемый и разделенный код, но, как я уже сказал, это решение состоит в том, чтобы просто вывести «pythoni c разновидность», которая существует: -).
word = ['h', 'e', 'l', 'p', 'm', 'e']
print("".join(list(map(lambda a: a[0]*a[1], zip(word,list(range(3,6))*(len(word)//3))))))
Вывод такой, как показано ниже
hhheeeelllllpppmmmmeeeee
Строки добавлены позже
Редактируется после просмотра запроса списка слов с включенным в него пробелом
@ Faded I не могу придумать решение «одной линии», не разрушив проверки работоспособности без возможности ремонта. У всего есть пределы, и я достиг предела для того, чтобы создать решение «одной линии» для проблемы, которую вы описали. Это может быть только я, и у кого-то может быть очень простое решение, использующее однострочное выражение python. Мы должны подождать этого специального факелоносца.
Между тем, очень легко добиться того же с помощью многопоточной программы. Одно из многих возможных решений приведено ниже.
word = ['h', 'e', 'l', 'p', '','m', 'e']
FinalList = []
MultiplierCount = 3
for i in word:
if len(i) != 0:
FinalList.append(i*MultiplierCount)
MultiplierCount += 1
if MultiplierCount > 5:
MultiplierCount = 3
else:
FinalList.append(' ')
FinalOutput = "".join(FinalList)
print(FinalOutput)
Это дает следующий вывод.
hhheeeelllllppp mmmmeeeee