目录
1.集合 set
1.1定义
回顾高中数学
交集:返回两个集合中相同的元素
并集:返回两个集合中所有不重复的元素
补集:返回两个集合中所有不同的元素
-
由一系列不重复的不可变类型变量组成的可变映射容器。
(字典是由一系列键值对组成的可变映射容器)
-
相当于只有键没有值的字典(键则是集合的数据)
1.2基础操作
集合相当于只有键的字典,所以也是无序的,没有索引、切片等功能。
1.创建集合
# 创建空集合
集合名 = set()
# 创建具有默认值的集合
集合名 = {1,2,3}
集合名 = set(可迭代对象)
# 集合->字符串(不太好看)
s1 = set("123")
print(s1) # {'2', '3', '1'}
str01 = str(s1)
print(str01) # {'2', '3', '1'}
print(type(str01)) # <class 'str'>
print(str01 + "999") # {'2', '3', '1'}999
# 集合->列表->字符串(字符串去重,缺点是顺序不定)
s1 = set("123")
print(s1) # {'2', '3', '1'}
list01 = list(s1)
print(list01) # ['2', '3', '1']
str01 = "".join(list01)
print(str01) # 231
2.添加元素
集合名.add(元素)
set01 = {1,2,3}
set01.add(4)
3.删除元素
集合名.discard(元素)
set01 = {1,2,3}
set01.discard(2)
4.获取所有元素
s1 = set("123")
for item in s1:
print(item)
5.数学运算(结果仍是集合)
s1 = {1, 2, 3}
s2 = {2, 3,4}
s3 = {2, 3}
# 交集&:返回共同元素
print(s1 & s2) # {2, 3}
# 并集|:返回所有不重复的元素
print(s1 | s2) # {1, 2, 3, 4}
# 补集^:返回所有不同的元素
print(s1^s2) # {1, 4}
# 子集:<
print(s3<s1) # True
# 超集:>
print(s1>s3) # True