给出一个清单:
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)
只需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)