Замена элемента списка содержимым другого списка

Похожий наэтот вопрос, но вместо замены одного элемента другим я бы хотел заменить любые вхождения одного элемента содержимым списка.

orig = [ 'a', 'b', 'c', 'd', 'c' ]
repl = [ 'x', 'y', 'z' ]
desired = [ 'a', 'b', 'x', 'y', 'z', 'd', 'x', 'y', 'z' ]

# these are all incorrect, or fail to compile
[ repl if x == 'c' else x for x in orig ]
[ [a for a in orig] if x == 'c' else x for x in orig ]
[ (a for a in orig) if x == 'c' else x for x in orig ]
[ a for a in orig if x == 'c' else x for x in orig ]

Редактировать: дал понять, что я хотел заменитьвсе вхождения предмета, а не только первый. (Извинения всем, кто не освещал этот случай в своем ответе.)

Ответы на вопрос(5)

Ваш ответ на вопрос