python set 集合使用

2025-10-13 12:50:35

1、我们先来看看python集合的去重的功能,如下我们定义一个数组,然后通过set集合来处理它

l9=[3,1,4,5,6,5,5,5,5]s1=set(l9)print(s1)

输出结果:

set([1, 3, 4, 5, 6]),具体如下图所示:

python set 集合使用

python set 集合使用

2、以上是set集合处理list的结果,那对于一些字符串为元素的list是否可以处理呢,如下我们来定义一个list包含字符串

l8=[1,'dfg','zjl','zjl','zjl','dfg']s2=set(l8)print(s2)

输出:

set([1, 'dfg', 'zjl']) 由此可以看出字符串元素也是可以去重的

python set 集合使用

python set 集合使用

3、下面我们来看看set集合创建,添加元素的例子

s3=set('myname')print(s3)

观察print 输出:set(['y', 'a', 'm', 'e', 'n']) 我们会发现创建的时候已经把重复的元素去除。

对于集合的添加:

s3.add(111)

print(s3)s3.update('ssskkmm')print(s3)

输出结果:

set(['a', 'e', 'm', 111, 'y', 'n'])

set(['a', 'e', 'k', 'm', 111, 's', 'y', 'n'])

可以看出 add可以添加单一的元素,update会添加多个元素,并且去除了重复

python set 集合使用

python set 集合使用

4、接下来我们看看set集合的交集,逻辑上就和数学中的交集一样

如下我们来通过小实列说明,如下我们定义两个集合

s3=set('myname')s4=set('mycompany')print(s3)print(s4)s6=s3.intersection(s4)  求交集print(s6)

输出结果:

set(['y', 'a', 'm', 'e', 'n'])

set(['a', 'c', 'm', 'o', 'n', 'p', 'y'])

set(['y', 'a', 'm', 'n'])

可以看出 最后结果是前面两个的公共元素组成的

python set 集合使用

python set 集合使用

5、下面我们在看看,set集合的差集(另一个中没有的元素),对称差集(不会同时出现在二者中),通过实列说明,如下所示我们通过4步骤中的两个集合来运算

s7=s3.difference(s4)  差集print(s7)s8=s4.symmetric_difference(s3) 对称差集print(s8)

输出:

set(['e'])

set(['c', 'e', 'o', 'p'])

python set 集合使用

python set 集合使用

6、接着我们看看它的并集,也就是把两个集合合并在一起的意思,再看看集合是否可以清除里面元素

s9=s3.union(s4) 取并print(s9)s9.clear()  清除集合里面元素print(s9)

输出结果:

set(['a', 'c', 'e', 'm', 'o', 'n', 'p', 'y'])

set([])

python set 集合使用

python set 集合使用

7、以上是基本的去重,实际项目中我们可能是要对一个字典类型的对象去重,如下我们来写个实列

先定义一个对象:obj1={'name':'zs','addr':'bj','age':'20','job':'bd'}

对它进行去重处理:

s12=set(o for k,o in obj1.items())print(s12)

这样就可以对这些键值对中的元素去重

输出:set(['bd', 'zs'])

python set 集合使用

8、如果我们要对set集合进行list转换,只需要做如下操作:

send=list(s12) 转换为listprint(send)

输出:

['bd', 'zs']

python set 集合使用

python set 集合使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢