python之集合的特性,常用方法及应用场景

1. 集合的基本概念

1.1 集合里面的元素不可重复

s = {1, 1, 1, 1, 1, 3, 5, 67, 89}
print(s,type(s))

输出结果:
在这里插入图片描述

1.2 定义一个空集合

s1 = {}
print(type(s1))  # 默认情况下是dict
s2 = set([])     # 定义一个空集合
print(s2,type(s2))

输出结果:
在这里插入图片描述

2. 集合的特性

集合只支持成员操作符、for循环

2.1 成员操作符

s = {1,2,3}
print(1 in s)
print(1 not in s)

输出结果:
在这里插入图片描述

2.2 for循环

s = {1,2,3}
for i in s:
    print(i,end='')
print()

输出结果:
在这里插入图片描述

3. 集合的常用方法

3.1 添加

集合是一个可变的数据类型
添加顺序和存储顺序是不一样的

s = {4,5,6,7,8,9,2}
print(s)

#添加一个元素s.add()
s.add(10)
s.add(0)
print(s)

#添加多个元素a.update()
s.update({3,6,7,8})
print(s)

输出结果:
在这里插入图片描述

3.2 删除

s = {4,5,6,7,8,9,2}
a = s.pop()
print(s)
print(a)

# 删除指定的元素
s.remove(9)
print(s)

输出结果:
在这里插入图片描述

3.3 排序

s1 = {2,3,1}
sorted(s1)
print(s1)

输出结果:
在这里插入图片描述

3.4 并集

s1 = {2,3,1}
s2 = {2,3,4}
print('并集:',s1.union(s2))
print('并集:',s1 | s2)

输出结果:
在这里插入图片描述

3.5 交集

s1 = {2,3,1}
s2 = {2,3,4}
print('交集:',s1.intersection(s2))
print('交集:',s1 & s2)

输出结果:
在这里插入图片描述

3.6 差集

s1和s2的差集 :s1中有哪些s2中没有的元素

s1 = {2,3,1}
s2 = {2,3,4}
print('差集:',s1.difference(s2))
print('差集:',s1 -s2)

输出结果:
在这里插入图片描述

3.7 对等差分

对等差分:并集- 交集

s1 = {2,3,1}
s2 = {2,3,4}
print('对等差分:',s1.symmetric_difference(s2))
print('对等差分:',s1 ^ s2)

输出结果:
在这里插入图片描述

3.8 判断

s1.issubset(s2):s1是否是s2的子集
s1.isdisjoint(s2):两个集合是不是不相交

s1 = {'westos','redhat','python'}
s2 = {'redhat','westos','linux'}
# s1是否是s2的子集
print(s1.issubset(s2))
# 两个集合是不是不相交
print(s1.isdisjoint(s2))

输出结果:
在这里插入图片描述

4. 集合的应用场景

列表快速去重

li = [1,2,3,4,5,6,6,6,7,8,9,9,9]
print(list(set(li)))

输出结果:
在这里插入图片描述

发布了60 篇原创文章 · 获赞 6 · 访问量 1374

猜你喜欢

转载自blog.csdn.net/weixin_45775963/article/details/103632496
今日推荐