我有两套:
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/