我有一个字符串列表,如下所示:
li1 = ['pin 2.3','vlo 5.4', 'lu 1.3', '3 packages installed', '', 'bla']
l12 = ['pin 2.3','vlo 5.4', '2 packages installed', 'bla', 'bla']
Run Code Online (Sandbox Code Playgroud)
我想从列表中过滤掉字符串'x packages installed'以及后面的字符串:
out1 = ['pin 2.3','vlo 5.4', 'lu 1.3']
out2 = ['pin 2.3','vlo 5.4']
Run Code Online (Sandbox Code Playgroud)
我怎么能用列表理解呢?谢谢
您可以使用itertools.takewhile
,它从列表中获取项目,直到未传递给定条件:
from itertools import takewhile
l12 = ['pin 2.3','vlo 5.4', '2 packages installed', 'bla', 'bla']
li1 = ['pin 2.3','vlo 5.4', 'lu 1.3', '3 packages installed', '', 'bla']
r12 = takewhile(lambda x: "packages installed" not in x, l12)
ri1 = takewhile(lambda x: "packages installed" not in x, li1)
print(list(r12))
# ['pin 2.3', 'vlo 5.4']
print(list(ri1))
# ['pin 2.3', 'vlo 5.4', 'lu 1.3']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
311 次 |
最近记录: |