集合类型

集合(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'}]

 





















posted @ 2018-11-22 19:34  kongpan  阅读(159)  评论(0编辑  收藏  举报