day6

# 练习
# # 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)
原文地址:https://www.cnblogs.com/shuaigewen/p/9671573.html