集合(set)
程序员文章站
2022-07-13 08:42:36
...
集合(set)
- 集合的基本概念
集合是多个元素的无序组合
集合类型与数学中的集合概念一致
-集合元素之间无序,每个元素唯一,不存在相同元素
-在python中,集合元素不可更改,不能是可变数据类型,集合中的每个元素,一旦放入集合中,不可修改,可变数据类型元素不可放入集合内
-集合用大括号{}表示,元素间用逗号分隔
-建立集合类型用{}或set()
-建立空集合,必须使用set()
集合里面的元素不可重复
定义一个空集合
a = {}
print(type(a)) # 默认情况下是字典
b = set([]) # 空集合
print(b,type(b))
- 集合的特性----集合只支持成员操作符、for循环(迭代),不支持索引、不支持切片、不支持重复、不支持连接
成员操作符:
a = {1,2,3,'westos'}
print(a,type(a))
print(1 in a)
print('westos' not in a)
for循环(迭代):
a = {1,2,3,'westos'}
for i in a:
print(i,end=' ')
- 集合的添加、删除、排序
集合的添加:
添加单个元素
s = {4,5,6,7,8,9,2}
print(s)
s.add(10)
s.add(0)
print(s)
添加多个元素
s = {4,5,6,7,8,9,2}
print(s)
s.update({3,6,7,8})
print(s)
集合的删除
删除随机元素s.pop()
s = {5,6,4,7,8,9,}
a = s.pop() # 弹出第一个
print(a)
print(s)
删除指定元素s.remove()
s = {5,6,4,7,8,9}
s.remove(6)
print(s)
集合的排序
s = {8,6,4,7,5,9}
print(s)
sorted(s)
print(s)
可以看出集合自动排序
- 集合的交集、并集、差集、对等差分
交集:
s1 = {8,6,4,7,5,9}
s2 = {6,7,8}
print(s2 & s1)
并集:
s1 = {8,6,4,7,5,9}
s2 = {1,2,3}
print(s1 | s2)
差集:
s1 = {8,6,4,7,5,9}
s2 = {1,2,3}
print(s1 -s2) #s1中有哪些s2中没有的元素
print(s2-s1) #s2中有哪些s1中没有的元素
集合的对等差分:对等差分=并集-交集
s1 = {2,3,4}
s2 = {1,2,3}
print(s1 ^ s2)
- 集合的判断
子集:
s1 = {2,3,4}
s2 = {1,2,3}
s3 = {1,2,3,4}
print(s1.issubset(s3)) #s1是否是s3的子集
print(s1.issubset(s2)) #s1是否是s2的子集
是否不相交:
s1 = {2,3,4}
s2 = {1,2,3}
s3 = {1,2,3,4}
print(s1.isdisjoint(s2))
练习:
列表快速去掉重复元素
上一篇: JS Es6 Array方法
下一篇: ES6 数组