集合(set) 是一个无序的不重复元素序列.
可以使用大括号{}或者set{}函数创建集合(创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典
集合内的元素必须是不可变类型
集合内元素无序
集合内元素不能重复
常用操作+内置的方法
1.长度len
2.成员运算in 和 not in
pythons={'张铁蛋','李铜淡','王金蛋','赵银胆','alex','kevin'}
linuxs={'oldboy','张铁蛋','赵银胆','alex','wxx'}
3、|合集:求所有报名的学生
print(pythons | linuxs)
print(pythons.union(linuxs))
4、&交集:求同时报名两门课程的学生
print(pythons & linuxs)
5、-差集: 求只报名python课程的学员
print(pythons - linuxs)
print(linuxs - pythons) #求只报名linux课程的学员
6、^对称差集:求没有同时报名两门课程的学生
res=(pythons - linuxs) | (linuxs - pythons)
res=pythons ^ linuxs
print(res)
7.==
s1={1,2,3} s2={3,2,1} print(s1 == s2)
8.父集: >=
9,子集: <=
集合的去重
局限性: 只能针对不可变类型 不能保证原来的顺序
names=['egon','egon','egon','alex','alex','kevin'] new_names=list(set(names)) print(new_names) #输出结果 ['alex', 'egon', 'kevin']
l=[ {'name':'egon','age':18,'sex':'male'}, {'name':'alex','age':73,'sex':'male'}, {'name':'kevin','age':20,'sex':'female'}, {'name':'egon','age':18,'sex':'male'}, {'name':'egon','age':18,'sex':'male'}, ] new_l=[] for dic in l: if dic not in new_l: new_l.append(dic) print(new_l) #输出结果 [{'name': 'egon', 'age': 18, 'sex': 'male'}, {'name': 'alex', 'age': 73, 'sex': 'male'}, {'name': 'kevin', 'age': 20, 'sex': 'female'}]