python - 检查字符串列表 A 中的任何项目是否是字符串列表 B 中的项目的子字符串

标签 python string list

<分区>

我正在尝试对一组匹配器和一组字符串进行排序,这样如果我有

匹配器 = ['foo', 'bar', 'abc']

strings = ['afooa', 'zbarz', 'abcabc', 'purple', 'foobar']

我希望能够获取 strings 的任何元素,其中 matchers 的任何元素都是子字符串,这样

results = ['afooa', 'zbarz', 'abcabc', 'foobar'],理想情况下不只是求助于嵌套的 for 循环。

我已经四处寻找了一段时间,但这是一个很难用可搜索的术语来表达的问题,所以即使是任何人在搜索方面的任何建议,我们都会非常感激。

最佳答案

results = [s for s in strings if any(m in s for m in matchers)]

说明:我们遍历 strings 并添加元素,如果 matchers 中的任何元素包含在 strings 元素中。

关于python - 检查字符串列表 A 中的任何项目是否是字符串列表 B 中的项目的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40496828/

相关文章:

python - yum 安装 firefox 错误 - libnssutil3.so

java - 使用java中的正则表达式从下面的字符串中获取值

java - 双引号转义Java

java - 如何重新设计方法以使其发挥作用

c# - List<T> 设计模式的名称是什么?如何实现

python - 使用 python pip 在 Windows 中的 Tensorflow

python - 在 Python 中加入多个异步生成器

regex - 在 Perl 代码中改进(优化)现有字符串替换的任何建议?

R - 列表与重复项的组合?

python - 如何将这些包含字符串的 pandas 列转换为 float ,同时保持其含义?