from random import choice
from itertools import chain, repeat
from functools import reduce
text = "Quick brown fox jumps over the lazy dog"
repl = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']
Оптимальный по читаемости и простоте вариант:
' '.join(f'{word} {choice(repl)}' for word in text.split())
Результат:
'Quick two brown four fox one jumps seven over four the three lazy one dog two'
Другие варианты:
def inserts(replacements):
while True:
yield choice(replacements)
' '.join(chain(*zip(text.split(), inserts(repl))))
' '.join(chain(*zip(text.split(), map(choice, repeat(repl)))))
' '.join(chain(*map(lambda word: (word, choice(repl)), text.split())))
' '.join(reduce(lambda lst, word: lst + [word, choice(repl)], text.split(), []))