1. 统计出
北京有哪些车牌
山东有哪些车牌
黑龙江有哪些车牌
2. 升级.
各个省会城市车, 保存在dic中
{'京':['京Bxn508'], 鲁:['鲁A32212', '鲁A45678'], '黑':['黑A45678']}
lst = ['京Bxn508', '鲁A32212', '鲁B12345', '鲁A45678', '黑A45678', '黑C49678']
一题so easy就不写了,来看下升级题,后面有注释的没有按规范缩进(PEP8规范,后面会讲),可能会眩晕,凑乎看吧,下次一定注意!

1 dic={}
2 for i in lst:
3 if "京" in i:
4 if '京' not in dic:
5 dic['京']=[]
6 dic['京'].append(i)
7 elif '鲁A' in i:
8 if '鲁' not in dic:
9 dic['鲁']=[]
10 dic['鲁'].append(i)
11 elif '黑A' in i:
12 if '黑' not in dic:
13 dic['黑']=[]
14 dic['黑'].append(i)
15 print(dic)
简单的if,elif版

1 from collections import defaultdict#导入collections模块中的defaultdict(带有默认值的字典)类
2 my_dict=defaultdict(list)#实例化defaultdict类
3 for i in lst:
4 if '京' in i:
5 my_dict['京'].append(i)
6 elif '鲁A' in i:
7 my_dict['鲁'].append(i)
8 elif '黑A' in i:
9 my_dict['黑'].append(i)
10 print(my_dict)
模块进阶版:后期会讲到这个类,很容易理解
进阶版,可以适用于扩展原有的列表。
lst = ['京Bxn508', '鲁A32212', '鲁B12345', '鲁A45678', '黑A45678', '黑C49678','津C5343','晋A4357']

1 dic_final={}
2 li=[]
3 for i in lst:#循环整个列表
4 if i[0] in ('京','沪','津','渝'):#排除四个直辖市,可以用startwith
5 li.append(i[0])#直接添加首个字符
6 else:
7 li.append(i[0]+'A')#其余的都加个A表示省会城市
8 set_provincial=set(li)#用集合将原省会列表去重
9 list_provincial=list(set_provincial)#将集合转回列表
10 for i in lst:#外层循环车牌列表
11 for j in list_provincial:#里层循环去重后的省会列表
12 if j in i:
13 if j not in dic_final:
14 dic_final[j]=[]
15 dic_final[j].append(i)
16 print(dic_final)
双层for循环嵌套(逻辑和普通版一样,用for循环简