Python第四篇--集合
特性
定义:data={"b","c","a",1,23,4,("ab","ef")}
data=set([])这样可以创建一个空的集合,不能用{}这样得到的是一个dict字典
1.集合元素是不可变的,也就是说集合里面只可以放数字,字符串,元组
2.天生去重
3.无序
作用
1.去重复
把列表转成集合就可以了jihe=set(li)
2.关系运算
比如要找到两个列表中的交集
交集:共有的&
data1.intersection(data2)
差集:data1独有的-
data1.difference(data2)
并集:合并|
data1.union(data2)
对称集:除了共有的之外的所有^
data1.symetric_difference(data2)
常用操作
增加:
jihe.add()
修改:不可修改
删除:
jihe.discard(value)删除某个值,不存在也不报错
jihe.pop()随机删除
jihe.remove(value)删除,不存在就报错了
查:
value in jihe
循环和其他一样,for i in jihe:...
集合的关系判断
data1.isdisjoint(data2) data1是不是 不是和data2有交集 没有交集,返回True
data1.issubset(data2) data1是不是data2的子集
data1.issupperset(data2) data1是不是data2的父集
如果想要列表去重排序,就要先吧列表转为集合去重复,在将集合转为列表排序。因为集合特性是无序不重复,所以集合没有排序方法
names=["Alex","品如","艾利","宝莲","Alex"]
print(names)
#转为集合去重复
lists=set(names)
#再转为列表排序
names2=list(lists)
names2.sort(reverse=False)#默认就是False
print(names2)
Python中,list() set() tuple() 这三个类内置方法分别是将一个对象转为列表,集合,元组的