【发布时间】:2013-02-19 16:49:45
【问题描述】:
类似于this question,但我不想用另一项替换一项,而是想用列表的内容替换任何出现的一项。
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 ]
编辑:明确表示我的意思是替换该项目的所有次出现,而不仅仅是第一次出现。 (向没有在回答中涵盖该案例的任何人道歉。)
【问题讨论】: