-
1.集合定义
- 符号{}
- 创建空集合,set1 = set()
- 创建非空集合:
- set1 = set(obj)
-
场景1: 字典 my_dict = {"name":"chinese","age":28} print(set(my_dict)) # {"age","name"} 场景2: 列表 my_list = [3,4,5] print(set(my_list)) # {3,4,5}
-
- set2 = {1,2,3,4} 元素需要是不可变数据类型
- set1 = set(obj)
2.集合推导式
{i for i in 可迭代对象 判断条件}
set1 = {i for i in range(5)}
print(set1) # {0, 1, 2, 3, 4}
3.集合的操作方法
-
增add(element)
-
set1 = {1,2,3} set1.add(4) print(set1) # {1,2,3,4}
-
删
-
clear()
-
清除所有元素
-
-
-
set1 = {1, 2, 3} set1.clear() print(set1) # set()
-
discard()
-
删除指定值,无返回值;指定值不存在不会报错
-
-
场景1: 指定值存在 set1 = {1, 2, 3} s = set1.discard(2) print(set1) # {1, 3} 场景2: 指定值不存在,无报错 set1 = {1, 2, 3} s = set1.discard(4) print(set1) # {1, 2,3}
-
remove(element)
- 删除指定值,无返回值但是无指定值会报错
-
-
改
-
update(iterable1,,iterable2...)
- 取并集,改变原集合
-
lst = [1, 4, 2, 8, 25] se = {1, 8, 22, 83} se.update(lst) print(se) # {1, 2, 4, 8, 83, 22, 25}
-
- 取并集,改变原集合
-
取集合间并集,并返回新集合
-
|
-
set1 = {1, 2, 3} set2 = {2, 3, 5} print(set1 | set2)) # {1,2,3,5}
-
-
union(iterable)
-
set1 = {1, 2, 3} set2 = {2, 3, 5} print(set1.union(set2)) # {1,2,3,5}
-
-
-
取集合间的差集,并返回新集合
- -
-
取集合间交集,并返回新集合
- intersection(iterable)
-
set1 = {1, 2, 3} set2 = {2, 3, 5} print(set1.intersection(set2)) # {2,3}
- &
-
set1 = {1, 2, 3} set2 = {2, 3, 5} print(set1 & set2) # {2,3}
-
- 查
4. 集合应用场景:
-
场景1:去重,但无法保证原来的元素顺序
-
场景2: 求取集合长度
-
场景3: 成员验证
-
场景4: for循环