集合
特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。
定义
set() -> new empty set object set(iterable) -> new set object s = {0}
应用:去重
> lst1 = [1,1,2,2,3,4,2] > list(set(lst1)) [1, 2, 3, 4]
常用操作
集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^
子集< <=及超集> >=
增删,清空操作
具体见如下代码例子
> lst1 = [1,2] > lst2 = [2,3] > a = set(lst1) #定义集合 > b = set(lst2) > a,b ({1, 2}, {2, 3}) > a|b #取并集 {1, 2, 3} > a&b #取交集 {2} > a-b #取差集 {1} > b-a #取差集 {3} > list(a) #转换集合为列表,也可转为元组,如 tuple(a)返回 (1,2) [1, 2] > a < b #子集判断 False > c = set([1]) > c {1} > c < a #子集判断 True > c <= a #子集判断 True > d = set([1,2,3]) > d > a #超集判断 True > > d >= a #超集判断 True > a,b ({1, 2}, {2, 3}) > a^b # 对称差集 {1, 3} > c {1} > d {1, 2, 3} > a^d # 对称差集 {3} > s = {0} > type(s) <class 'set'> > > print(s, len(s)) #集合长度 {0} 1 > s.add('1') #添加元素 > s {0, '1'} > s.update([2,3]) #添加多个元素 > s {0, 2, 3, '1'} > s.remove(2) #删除指定元素,如没有则报错 > s {0, 3, '1'} > s.pop() #随便删元素(貌似没什么用) 0 > s {3, '1'} > s.discard(3) #删除指定元素 > s {'1'} > s.clear() #清空集合 > s set()