'''
一.关系运算
有如下两个集合,pythons是报名python课程的学员名字集合,
linuxs是报名linux课程的学员名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
1. 求出即报名python又报名linux课程的学员名字集合
2. 求出所有报名的学生名字集合
3. 求出只报名python课程的学员名字
4. 求出没有同时这两门课程的学员名字集合
'''
# pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
# linuxs={'wupeiqi','oldboy','gangdan'}
#
# print(pythons.intersection(linuxs))
#
# print(pythons.union(linuxs))
#
# print(pythons.difference(linuxs))
#
# print(pythons.symmetric_difference(linuxs))
'''
二.去重
1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,
得到新列表,且新列表无需保持列表原来的顺序
2.在上题的基础上,保存列表原来的顺序
3.去除文件中重复的行,肯定要保持文件内容的顺序不变
4.有如下列表,列表元素为不可hash类型,去重,得到新列表,
且新列表一定要保持列表原来的顺序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
'''
# l=['a','b',1,'c','a','a']
#
# l1=list(set(l))
# print(l1) #无序
#
# l2=[]
# for i in l:
# if i not in l2:
# l2.append(i)
# print(l2) #有序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
l1=[]
for i in l:
if i not in l1:
l1.append(i)
print(l1)