网站设计要多久东莞百度代做网站联系方式
(1) 什么是集合
集合:Python中使用关键字set表示
集合中存储多个、没有顺序的、不能重复的、可以是不同类型的多个数据!
(2) 集合的声明
python中通过set()或者花括号声明空集合、非空集合
# 声明空集合
s1 = set()
print(s1, type(s1))# 声明非空集合
s2 = {1, 2, 2, 4, 5, 5}
print(s2, type(s2)) 
(3) 集合增删改查
s = set()# 2.1 添加数据
s.add("java")
s.add("python")
s.add("javascript")
print(s)# 2.2 删除数据(成员运算符)
x = "javascript"
if x in s:s.remove(x)
print(s)# 2.3 修改数据(集合中无法直接修改)
s.remove("java")
s.add('vue')
print(s)# 2.4 遍历数据
for x in s:print("集合遍历:", x) 
 
(4) 集合常见函数
| 函数 | 描述 | 
|---|---|
| add()[掌握] | 向集合中添加数据 | 
| clear() | 清空集合 | 
| copy() | 复制一个集合 | 
| difference()[掌握] | A对B集合的差集 | 
| difference_update() | 求差集并更新A集合 | 
| discard()[掌握] | 删除一个数据 | 
| intersection()[掌握] | 交集 | 
| intersection_update() | 交集并更新A集合 | 
| isxxxxx() | 所有判断相关函数 | 
| pop() | 随机删除一个数据 | 
| remove()[掌握] | 删除一个数据 | 
| symmetric_difference() | 完整差集 | 
| symmetric_difference_update() | 完整差集并更新A集合 | 
| union()[掌握] | 并集 | 
| update() | 并集并更新A集合 | 
交并差集
# 3. 集合常见函数
# 3.1 需求1:数据分析,获取用户A和用户B相似画像
s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5, 6, 7}
# 交集
print(s1.intersection(s2))# 3.2 需求2:数据分析,整体用户群体画像
# 并集
print(s1.union(s2))# 3.3. 差集
print(s1.difference(s2)) 
数据容器间的差别
| 列表 | 元组 | 字典 | 集合 | |
|---|---|---|---|---|
| 关键字 | list | tuple | dict | set | 
| 存储多个数据 | 是 | 是 | 是 | 是 | 
| 存储多种类型 | 是 | 是 | 是 | 是 | 
| 数据包含顺序 | 是 | 是 | 是 | 否 | 
| 数据是否重复 | 是 | 是 | key不能重复,value可以重复 | 否 | 
| 数据元素 | 单个 | 单个 | key:value | 单个 | 
应用场景:
-  
列表【掌握】:主要存放多个可以重复的、有顺序的数据
 -  
元组:主要存放常量数据,程序中不可变的数据
 -  
字典【掌握】:主要存放经常操作运算的数据,通过key可以获取value数据参与运算
 -  
集合:主要存放用于条件过滤的数据,如剔除重复数据、获取多个数据交差并集等
 
