Substituindo item da lista pelo conteúdo de outra lista
Igual aessa questãomas, em vez de substituir um item por outro, gostaria de substituir quaisquer ocorrências de um item pelo conteúdo de uma lista.
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 ]
Editar: deixou claro que eu pretendia substituirtodos ocorrências do item, em vez de apenas o primeiro. (Desculpas para quem não cobriu o caso em sua resposta.)