集合的特点
-
互异性
可以利用这个特性去重>>> b="ABCCBA" >>>> setb=set(b) >>> setb {'A', 'B', 'C'} #去重 >>> listb=list(b) >>> listb ['A', 'B', 'C', 'C', 'B', 'A'] >>> set(listb) {'A', 'B', 'C'}
-
无序性
>>> setc={'C', 'B', 'A'} >>> setc {'A', 'B', 'C'}
-
确定性
放在集合里的可以是字符串,元组等不可变对象,不可以是列表,字典,集合等可变对象。
创建方法
- 花括号,使用逗号分隔元素(区别于字典,字典的元素是键值对)
- set
- frozenset(创建不可变集合)
集合的方法
-
添加元素:add ,update
-
删除 : pop , remove, discard,clear
#remove 和 discard 的区别: 删除不存在元素的时候是否报错 >>> setb {'A', 'B', 'C'} >>> setb.remove("D") Traceback (most recent call last): File "<pyshell#215>", line 1, in <module> setb.remove("D") KeyError: 'D' >>> setb.discard("D")
-
判断元素是否存在 in
-
集合关系判断 :issuperset ,issubset
>>> set1 {2, 3} >>> set2 {1, 2, 3} #超集 >>> set1.issuperset(set2) False >>> set2.issuperset(set1) True #子集 >>> set1.issubset(set2) True
-
集合的运算
并集 union 或者 |
交集 intersect 或者 &
差集 difference