Python:使用列表推导式通过子字符串列表过滤列表[重复]

2024-01-09

我认为这是一个简单的问题,所以我直接举个例子。

鉴于这两个列表:

x = ['a', 'ab', 'abc', 'bc', 'c', 'ac']
y = ['a', 'b']

如何编写列表理解来过滤列表 x,结果如下:

result = ['c']

我想要一个列表理解,排除 y 中的字符串与 x 中的字符串的任何部分匹配。例如,y 中的“a”将匹配 x 中的“a”、“ab”、“abc”和“ac”。

此理解仅匹配整个字符串:result = [r for r in x if r not in y]

如果已经有人问过这个问题,我很乐意接受先前答案的链接。也就是说,我还没有在 SO 上找到一个。


Use all https://docs.python.org/3/library/functions.html#all:

result = [r for r in x if all(z not in r for z in y)]

Or any https://docs.python.org/3/library/functions.html#any:

result = [r for r in x if not any(z in r for z in y)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:使用列表推导式通过子字符串列表过滤列表[重复] 的相关文章

随机推荐