Listenelement durch den Inhalt einer anderen Liste ersetzen
Ähnlich zudiese Frage, aber anstatt ein Element durch ein anderes zu ersetzen, möchte ich alle Vorkommen eines Elements durch den Inhalt einer Liste ersetzen.
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 ]
Edit: machte klar, ich wollte ersetzenalles Vorkommen des Elements und nicht nur das erste. (Entschuldigung an alle, die diesen Fall in ihrer Antwort nicht behandelt haben.)