集合
一、关键字 : set
定义是 s = {} #当里面没有元素的时候表现为字典数据类型
s = {} #空的{}代表空的字典,而不是集合 print(type(s))
集合是不可哈希的(可变的),也是无序的(没有索引),集合内的元素必须是可哈希的(不可变得)。
二、方法:
s = {1,2,3,4,5,6,7,8,9}
增:
.add(元素) #随记添加在集合的某个位置
.update() #迭代添加
#添加 s.add('a') #添加指定元素 s.update('alex') #添加可迭代元素
删:
.pop() #随机删除 ,有返回值,删除什么返回什么元素
.clear() #清空集合
del set #删除整个集合
.remove(元素) #删除指定的元素
#删除 s.remove(1) #删除指定元素 s.pop() #随机删除 删除什么返回什么 s.clear() #清空集合 print(s) #字典自动去重
改:
只能先用remove()把要改的元素删了,在把需要的元素添加进去
三、集合的特性:
集合是可以天然去重!
例题: lis = [1,2,1,2,1,25,1,5,6,9,8,115,226,11,22,11,22]用一行代码去重?
print(list(set(lis))) #将列表转换为集合去重,然后在换回列表即可
四、集合的其他操作:
& 和 intersectiion #取两个集合的交集 没有交集就返回空集合
| #取两个集合的并集,合并两个集合
s - s1 #取后面相对于前面的补集
s ^ s1 #反交集,取两个集合不重合的元素
s < s1 #判断s是不是s1的子集
s1 > s #判断s1是不是s的父集
.frozenset(): #将集合冻住,即变成不可变得数据(可哈希)
a = frozenset({1,2,3,4}) #将集合冻住,变成不可变得数据,即可以当字典的键 dic[a :1] print(dicup)