简介
在做力扣题的时候,有一个思路是要
求解两个字符串的交集
。
一般来说,求解交集的思路是遍历两个字符串,判断有无相等,有相等则添加到交集中,直到循环结束。
但是这样做,会增加很多的不必要的遍历:比如说,当一个字符串中有多个相同的元素时,该元素会被遍历多次。
因此,在求解时,我们可以先将字符串转换为
set
集合类型。
集合
中存储的元素没有顺序,且互异(即元素不可重复)。
算例
求字符串m“abcdaaa” 与 字符串n“bcddses”是否存在交集
- 首先将字符串转换为
set
类型:
m =set(m)
n =set(n)
返回值为:
m=abcd
,
n=bcdes
- 接着利用python自带的求集合交集的函数
intersection()
来求两个集合中是否有交集:
z = m.intersection(n)
返回的
z
值是
z=bcd
- 判断是否存在交集,存在则返回True。因此不需要输出交集的结果:
if m.intersection(n):returnTrueelse:returnFalse
输出结果为:
True
intersection()函数
参考网址:Python Set intersection() 方法
intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。
intersection() 方法语法:
set.intersection(set1, set2 … etc)
参数:
set1 – 必需,要查找相同元素的集合
set2 – 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开
计算多个集合的交集示例:
x ={"a","b","c"}
y ={"c","d","e"}
z ={"f","g","c"}
result = x.intersection(y, z)print(result)
返回结果为:
{'c'}
版权归原作者 lovetaozibaby 所有, 如有侵权,请联系我们删除。