使用子字符串列表搜索字符串列表

2024-09-29 02:17:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表,目前可以同时搜索一个子字符串:

str = ['abc', 'efg', 'xyz']   

[s for s in str if "a" in s] 

正确返回

['abc']

现在假设我有一个子字符串列表:

subs = ['a', 'ef']

我想要一个像这样的命令

[s for s in str if anyof(subs) in s] 

它应该会回来

['abc', 'efg']

Tags: 字符串in命令列表forifsubsabc
3条回答
>>> s = ['abc', 'efg', 'xyz']  
>>> subs = ['a', 'ef']
>>> [x for x in s if any(sub in x for sub in subs)]
['abc', 'efg']

不要使用str作为变量名,它是一个内置的。你知道吗

只需一个接一个地使用它们:

[s for s in str for r in subs if r in s]

>>> r = ['abc', 'efg', 'xyz']   
>>> s = ['a', 'ef']
>>> [t for t in r for x in s if x in t] 
['abc', 'efg']

有点复杂但你可以

[s for s in str if any([sub for sub in subs if sub in s])] 

相关问题 更多 >