PYTHON-基本数据类型-元祖类型,字典类型,集合类型-练习

# 1 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
# 将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
#
# 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

# a=[11,22,33,44,55,66,77,88,99,90]
# b={'key1':[],'key2':[]}
# #>66 ==>key1 ==>append 到b
# #<66 ==>key2
# for x in a:
# if x > 66:
# b['key1'].append(x)
# else:
# b['key2'].append(x)
# print(b)

# 2 统计s='hello alex alex say hello sb sb'中每个单词的个数
#
# 结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}

# s='hello alex alex say hello sb sb'
## 字符串转换[]===创建空字典===设置字典{key,count}
# x=s.split()
# print(x)
# a={}
# for key in x:
# a[key]=s.count(key)
# # a.setdefault(key,x.count(key))
# print(a)


#  一.关系运算
#   有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
# pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
# linuxs={'wupeiqi','oldboy','gangdan'}
#   1. 求出即报名python又报名linux课程的学员名字集合
# print(pythons & linuxs)
#   2. 求出所有报名的学生名字集合
# print(pythons | linuxs)
#   3. 求出只报名python课程的学员名字
# print(pythons - linuxs)
#   4. 求出没有同时这两门课程的学员名字集合
# print(pythons ^ 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'},
# ]
# #创建新的列表===新列表的元素包含于老列表====如果不在新列表的元素需要添加
# new_l=[]
# for dic in l:
# if dic not in new_l:
# new_l.append(dic)
# print(new_l)
posted @ 2018-09-18 20:19  逐梦~前行  阅读(245)  评论(0编辑  收藏  举报