我有一个字符串列表和一个过滤器列表(也是字符串,被解释为正则表达式).我想要一个列表,列出我的字符串列表中至少有一个过滤器接受的所有元素.理想情况下,我会写
[s for s in strings if some (lambda f: re.match (f, s), filters)]
Run Code Online (Sandbox Code Playgroud)
其中一些被定义为
def some (pred, list):
for x in list:
res = pred (x)
if res:
return res
return False
Run Code Online (Sandbox Code Playgroud)
有类似的东西已经在Python中可用,还是有更惯用的方法来做到这一点?
Mar*_*ers 19
有一个叫做any
大概想要的功能.我想你正在寻找这个:
[s for s in strings if any(re.match(f, s) for f in filters)]
Run Code Online (Sandbox Code Playgroud)
[s for s in strings if any(re.match (f, s) for f in filters)]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4563 次 |
最近记录: |