2023年6月28日发(作者:)
python⼩程序——快递分拣程序python ⼩程序——快递分拣程序学习了字符串,列表以及字典的操作后,动⼿写⼀个快递分拣的⼩程序。需求将给出的快递地址转换为要求的字典格式:给出的数据源:[ ['谢*星', '⽢肃省酒泉市雄关路54号东风物流⼗号'], ['侯*', '河南省郑州市河南省郑州市⾼新区莲花街牡丹路西雅图荣邦城'], ['孙*康', '江苏省+ ['杨*康', '北京市丰台区丰台科技园汉威⼴场12栋'],]要求的格式:{ "北京市":[ ['王*龙', '北京市海淀区苏州街⼤恒科技⼤厦南座4层'],
['庞*飞', '北京市昌平区汇德商厦四楼403'], .... ], "⼭东省":[ ['孙*云', '⼭东省济南市⼭东省济南市历下区祥泰汇东国际,⼀号楼3005室'],
['鞠*龙', '⼭东省潍坊市⽟清街江⼭帝景B区12号楼⼀单元14楼'],
['张*', '⼭东省济南市兴港路三庆城市主⼈'] .... ], ....
}思路1. 使⽤字符的切⽚操作,⾸先提取地址前三个字符(省份),⽣成⼀个list列表;2. ⽣成的列表当中肯定有重复的,去除列表中重复值,有三种⽅法使⽤内置函数list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9]list2 = list(set(list1))print(list2)遍历去除重复1 list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9]2 list2 = list(set(list1))3 print(list2)1 list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9]2 list2=[]3 for i in list1:4 if not i in list2:5 (i)6 print(list2)列表推导式1 list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9]2 list2=[]3 [(i) for i in list1 if not i in list2]3. ⽣成⼀个放⼊同⼀个省份数据的comm_pro[],使⽤ith()函数循环遍历出同⼀省份的数据放⼊comm_pro[],将得到的同⼀省份的数据赋值给字典new_data[]清空comm_pro[],循环遍历下⼀省份的数据。流程图如下:开始条件a否是sdfkcomm_pro = []for i in province: for j in source_data: if j[1].startswith(i): comm_(j) new_data[i] = comm_pro #向字典写⼊同⼀个省份的数据 comm_pro = [] #清空数据,存放下⼀省份数据
4.
#向字典写⼊同⼀个省份的数据comm_pro = [] #清空数据,存放下⼀省份数据```4.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1687896110a54816.html
评论列表(0条)