Python 与子字符串的交集

标签 python string set substring intersection

我有两套:

a = set(['this', 'is', 'an', 'apple!'])
b = set(['apple', 'orange'])

我想查找 (a) 中是否有任何 (b) 包括子字符串。 通常我会这样做:

c = a.intersection(b)

但是,在这个例子中,它会返回一个空集作为 'apple' != 'apple!'

假设我不能从 (a) 中删除字符并且希望不创建循环,我有没有办法找到匹配项?

编辑:我希望它从 (b) 中返回一个匹配项,例如我想知道 'apple' 是否在集合 (a) 中,我不希望它返回 'apple!'

最佳答案

除了通过 == 进行相等性检查之外,您还可以使用 in 进行子字符串匹配,这也涵盖了相等性:

>>> [x for ele in a for x in b if x in ele]
["apple"]

关于Python 与子字符串的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37515531/

相关文章:

java - 我们如何替换用户输入中的字符?

c++ - std::set<string, CustomComparer> 不能将 std::find(...) 与

python - 使用字典和复合字段 format() 并将整数键存储为字符串

java - 检查字符串是否包含 xml 或 json 数据

python - 为什么 numpy cov 对角元素和 var 函数有不同的值?

java - 将字符串作为 url 传递并加载到 webView 中

javascript - 查看数组是否有两个对象的两个不同属性具有相同值的最佳方法是什么?

java - 将 Set<Integer> 转换为原始数组

python - python 中的行操作

python - 如何从 Grails 调用 Python 库(提到 Jython)?