如何用python列表中的多个列表项替换文本分隔的字符串列表项?

rob*_*ach 8 python

给出一个清单:

mylist = ['dog', 'cat', 'mouse_bear', 'lion_tiger_rabbit', 'ant']
Run Code Online (Sandbox Code Playgroud)

我想要一个单行代码来返回一个新列表:

['dog', 'cat', 'mouse', 'bear', 'lion', 'tiger', 'rabbit', 'ant']
Run Code Online (Sandbox Code Playgroud)

Eug*_*Sh. 12

另一个技巧是首先使用下划线加入列表,然后重新拆分:

"_".join(mylist).split('_')
Run Code Online (Sandbox Code Playgroud)


ACh*_*ion 6

只需for在理解中使用2个子句,例如:

>>> mylist = ['dog', 'cat', 'mouse_bear', 'lion_tiger_rabbit', 'ant']
>>> [animal for word in mylist for animal in word.split('_')]
['dog', 'cat', 'mouse', 'bear', 'lion', 'tiger', 'rabbit', 'ant']
Run Code Online (Sandbox Code Playgroud)