#!/usr/bin/env python
# ```python
# 1.有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
# 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
# 小提示:按照题意这里的k1和k2对应的value必须能存多个值
#
# l = [11,22,33,44,55,66,77,88,99,90] # k = {'k1':[], 'k2':[]} # for i in l: # if i < 66: # k['k1'].append(i) # elif i == 66: # continue # else: # k['k2'].append(i) # print(k)
# 2.简单购物车,要求如下:
# 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
# msg_dic={
# 'apple':10,
# 'tesla':100000,
# 'mac':3000,
# 'lenovo':30000,
# 'chicken':10,
# }
# 小提示:打印的时候即需要拿到字典的key也需要拿到对应的value
#
# msg_dic = { # 'apple': 10, # 'tesla': 100000, # 'mac': 3000, # 'lenovo': 30000, # 'chicken': 10, # } # # goods_l = [] # while True: # for key, item in msg_dic.items(): # print('name:{name} price:{price}'.format(price = item,name = key)) # #实现打印商品详细信息 # choice = input('商品>>: ').strip() # #用户选择购买商品,strip格式化输入 # if not choice or choice not in msg_dic: # print('输入不正确,请重新输入') # continue # # #商品输入正确,不正确重新输入 # count = input('购买数量>>: ').strip() # #输入商品的数量 # if not count.isdigit(): # print('输入不正确,请重新输入') # continue # #判断是不是数字 # goods_l.append((choice, msg_dic[choice],count)) # #追加到列表gools_l购物车里 # print(goods_l)
# 3.统计s='hello alex alex say hello sb sb'中每个单词的个数
# 结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
#
s='hello alex alex say hello sb sb' s1={} s2=s.split() s3=set(s2) for i in s3: s1[i]=s.count(i) print(s1)
# 4.关系运算
# 有如下两个集合,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 & linuxs) print(pythons | linuxs) print(pythons - linuxs) print(pythons ^ linuxs)
# 5. 对列表l=['a','b',1,'a','a']内的元素完成去重得到新列表.
# 拔高:如果想去重并且想保持列表原来的顺序该如何做?
#
l = ['a','b',1,'a','a'] l1 = [] for i in l: if i not in l1: l1.append(i) print(l1)
# 6.对如下列表中的元素去重(),得到新列表,且新列表一定要保持列表原来的顺序
# 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 = [ {'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'}, ] s = set() l1 = [] for item in l: val = (item['name'], item['age'], item['sex']) if val not in s: s.add(val) l1.append(item) print(l1)