# 练习# # 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)