Python day07作业
1、把列表中所有姓周的人的信息删掉(升级题:此题有坑, 请慎重):
lst = ['周老二', '周星星', '麻花藤', '周扒皮']
结果: lst = ['麻花藤']
方法一:
lst = ['周老二', '周星星', '麻花藤', '周扒皮'] new_lst=[] for key in lst: if '周' not in key: new_lst.append(key) lst=new_lst print(lst)
方法二:利用浅拷贝
lst = ['周老二', '周星星', '麻花藤', '周扒皮'] for i in lst[:]: if '周' ==i.strip()[0]: lst.remove(i) print(lst)
方法三:按照索引倒序删除
lst = ['周老二', '周星星', '麻花藤', '周扒皮'] for i in range(len(lst)-1,-1,-1): if lst[i].strip()[0]=='周': lst.pop(i) print(lst)
2、车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (升级题)
cars = ['鲁A32444','鲁B12333','京B8989M','黑C49678','黑C46555','沪 B25041'.....] locals = {'沪':'上海', '黑':'黑龙江', '鲁':'山东', '鄂':'湖北', '湘':'湖南', '京': '北京'.....}
结果: {'山东': 2, '北京': 1, '黑龙江': 2, '上海': 1}
方法一:
dic={} for i in cars: if locals[i[0]] not in dic: dic[locals[i[0]]]=1 #dic={'山东':1} else: dic[locals[i[0]]]=dic[locals[i[0]]]+1 print(dic)
#方法二
dic={} for i in cars: dic[locals[i[0]]]=dic.get(locals[i[0]],0)+1 ''' 第一次循环: i----->'鲁A32444' i[0]---->'鲁' locals[i[0]]==locals['鲁']=='山东' dic.get('山东',0)+1==1 dic[locals[i[0]]]==dic['山东'] dic['山东']=1 第二次循环: i----->'鲁B12333' i[0]---->'鲁' locals[i[0]]==locals['鲁']=='山东' dic.get('山东',0)+1==1+1==2 dic[locals[i[0]]]==dic['山东'] dic['山东']=2 ''' print(dic)
3、干掉主播. 现有如下主播收益信息: zhubo = {'卢本伟':522000, '冯提莫':189999, '金老板': 99999, '吴老板': 250000, 'alex': 126} 1. 计算主播平均收益值 2. 干掉收益小于平均值的主播 3. 干掉卢本伟
zhubo = {'卢本伟':522000, '冯提莫':189999, '金老板': 99999, '吴老板': 250000, 'alex': 126} sum = 0 for i in zhubo: sum += zhubo[i] ave_sum = sum / len(zhubo) print(ave_sum) dic = {} for j in zhubo: if zhubo[j] >= ave_sum: dic[j] = zhubo[j] zhubo = dic print(zhubo) zhubo.pop('卢本伟') print(zhubo)