# 练习
# # 1 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
# # 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
# l = [11,22,33,66,55,44,77,88,99,90]
# a = sorted(l)
# aa = a.index(66)
# b = {'k1':a[aa+1:],'k2':a[:aa]}
# print(b)
# # 2 统计s='hello alex alex say hello sb sb'中每个单词的个数
# s='hello alex alex say hello sb sb'
# a = s.split(' ')
# aa ={}
# for b in a:
# aa[b] = s.count(b)
# print(aa)
# # 结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
# 一.关系运算
# 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
# pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
# linuxs={'wupeiqi','oldboy','gangdan'}
# # 1. 求出即报名python又报名linux课程的学员名字集合
# a = pythons & linuxs
# print(a)
#
# # 2. 求出所有报名的学生名字集合
#
# a = pythons | linuxs
# print(a)
#
# # 3. 求出只报名python课程的学员名字
#
# a = pythons - linuxs
# print(a)
#
# # 4. 求出没有同时这两门课程的学员名字集合
# a = pythons ^ linuxs
# print(a)
# 二.去重
#
# 1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
# l=['a','b',1,'a','a']
# ll = set(l)
# print(ll)
# 2.在上题的基础上,保存列表原来的顺序
# aa = []
# for a in l:
# if a not in aa:
# aa.append(a)
# print(aa)
# 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'},
# ]
# aa = []
# for a in l:
# if a not in aa:
# aa.append(a)
# print(aa)