写在前面
今天使用列表+字典实现一个简单的快递分拣案例小程序,分享给大家,希望能够对你们有所帮助~
郑重声明:本人目前仅在CSDN这一个平台发布文章,其他小伙伴如果想转载 或者引用请注明引用来源,未经许可不得直接搬运,请尊重创作人的劳动成果,谢谢!
一、需求分析
对于所给的数据源按照省份/自治区/直辖市进行快递分拣,具体格式如下:
下面带大家看一下最终的展示效果:
二、编程思路
通过分析数据源发现其为嵌套列表,内层列表保存了姓名和地址信息,所以我们应当使用for循环取出单个列表进行操作;对于生成格式要求生成一个字典,键key要求是省份,值value要求是一个嵌套列表,内层列表保存数据源的信息;再次对数据源进行详细分析,发现无港澳台地区,仅为大陆的省份,包括省、直辖市、自治区,这些数据是有限的;地址信息的前三个字就可以表示省份了或者直辖市了,自治区做单独处理。字典里的键是带有“省”或者“市”的,取地址信息的前三个字的话,就要考虑使用“in”做逻辑判断,成立的话,则该条地址信息可放入字典的该键对应的值中。
三、完整代码
#coding=utf-8
# 数据源
data_list = [
['王*龙', '北京市海淀区苏州街大恒科技大厦南座4层'],
['庞*飞', '北京市昌平区汇德商厦四楼403'],
['顾*锐', '江苏省扬州市三垛镇工业集中区扬州市立华畜禽有限公司'],
['王*飞', '上海市徐汇区上海市徐汇区H88越虹广场B座5E'],
['华*升', '北京市海淀区杰睿大厦'],
['朱*锴', '上海市浦东新区川沙新镇华川家园33号楼503'],
['陈*盼', '浙江省杭州市闲林街道,西溪华东园,十幢一单元401。'],
['司*鹏', '河南省鹤壁市淇滨大道310号 鹤壁京立医院'],
['聂*睿', '河北省石家庄市中山路勒泰中心写字楼b座11层'],
['张*', '辽宁省本溪市明兴丽城九号楼四单元'],
['冉*晗', '河北省石家庄市体育南大街385号'],
['高*杰', '北京市朝阳区广渠路42号院3号楼,408'],
['李*国', '安徽省合肥市新站区淮合花园'],
['常*源', '江苏省南京市白下路242号,南京市红十字医院,放射科'],
['张*玉', '河北省沧州市新居然家居广场'],
['王*川', '上海市奉贤区南桥镇 贝港七区'],
['冀*庆', '河北省保定市河北大学坤兴园生活区'],
['胡*晨', '浙江省宁波市浙江省宁波市江东区中山首府A座2004室'],
['尹*婷', '湖北省武汉市武汉大学信息学部'],
['李*东', '辽宁省大连市大关一街3号3-3-1'],
['张*', '天津市河西区隆昌路94号(天津科技馆)'],
['刘*', '湖北省黄冈市城关镇'],
['阿*亚', '内蒙古呼和浩特市包头东接民望家园1区3号楼2单元1501'],
['孙*云', '山东省济南市山东省济南市历下区祥泰汇东国际,一号楼3005室'],
['曹*亮', '黑龙江省大庆市服务外包产业园D1'],
['侯*琦', '上海市长宁区金钟路凌空soho16号楼3楼'],
['郭*峰', '河南省商丘市高新技术开发区恒宇食品厂'],
['赵*生', '河北省唐山市朝阳道与学院路路口融通大厦2408室'],
['张*', '陕西省咸阳市文汇东路6号西藏民族大学'],
['刘*民', '北京市大兴区南海家园四里7号楼1单元902'],
['郭*兰', '湖北省武汉市湖北省'],
['张*强', '河北省张家口市经开区钻石南路11号'],
['鞠*龙', '山东省潍坊市玉清街江山帝景B区12号楼一单元14楼'],
['李*', '北京市海淀区西二旗智学苑5号楼超市'],
['许*康', '北京市西城区西单北大街甲133号'],
['叶*生', '江苏省扬州市扬子江中路756号'],
['赵*兴', '北京市海淀区西二旗上地信息路1号金远见大楼华纬讯301'],
['徐*革', '北京市海淀区闵庄路3号102栋二层206'],
['徐*', '安徽省淮南市金荷小区(金格商场旁)'],
['雷*', '北京市朝阳区望京街道望京sohoT1C座1201'],
['庄*', '浙江省杭州市恒生电子大厦'],
['蔡*恩', '湖北省武汉市仁和路沙湖港湾B区1103'],
['陈*', '江苏省苏州市巴城镇湖滨北路193号牛吃蟹庄'],
['黄*', '北京市朝阳区霄云路26号鹏润大厦A座33层'],
['魏*飞', '河北省石家庄市新石北路与红旗大街交口开元大厦502室'],
['张*', '山东省济南市兴港路三庆城市主人'],
['段*琪', '山西省临汾市福利路尧乡小区'],
['刘*', '北京市昌平区龙禧三街骊龙园601'],
['王*生', '上海市杨浦区邯郸路复旦大学遗传学楼319室'],
['王*君', '江苏省扬州市叶挺路318号建行营业部'],
['王*义', '北京市东城区环球贸易中心D座'],
['李*', '陕西省汉中市同沟寺镇晨光村二组'],
['裴*宇', '吉林省四平市岭西新耀豪庭7栋'],
['丁*', '山东省烟台市大季家镇芦洋村'],
['刘*铎', '黑龙江省佳木斯市火电小区桥头浴池附近惠惠干洗店'],
['樊*', '浙江省宁波市文苑风荷201-301'],
['陈*瑞', '安徽省宣城市安徽省宣城市宣州区薰化路301合肥工业大学宣城校区'],
['崔*峰', '浙江省台州市福溪街道始丰西路43号501室'],
['徐*', '湖北省武汉市三金雄楚天地1号楼1210'],
['王*', '浙江省宁波市浙江工商职业技术学院信息中心'],
['闫*', '上海市浦东新区蓝天路368弄1号301室'],
['于*泉', '吉林省四平市金星书苑小区8号楼5单元102室'],
['刘*萌', '河北省秦皇岛市抚宁镇交通局家属院3-2-201'],
['石*', '安徽省宣城市薰化路301'],
['王*雯', '甘肃省兰州市天水南路222号兰州大学'],
['王*朝', '河南省郑州市嵩山南路政通路升龙城六号院'],
['金*晶', '吉林省延边州延吉市新兴街民安委11'],
['蒋*彬', '辽宁省本溪市新城北岸,恒大绿洲'],
['牛*鑫', '黑龙江省鸡西市南山路康光二号楼中雅发廊'],
['陈*宏', '山西省太原市太原理工大学'],
['刘*', '山西省运城市卿头镇'],
['陈*杰', '浙江省宁波市高新区研发园A5幢7楼多维时空科技有限公司'],
['郝**', '山东省德州市焦庙镇'],
['焦*', '山西省长治市太行西街金威超市太西店金威快购办公室'],
['李*旗', '北京市昌平区沙河镇汇德商厦4楼403老男孩教育'],
['通*大都', '北京市丰台区万泉寺东路9号院1栋1单1704'],
['孙*川', '浙江省金华市佛堂镇雅西村双溪口便民超市'],
['宋*', '安徽省合肥市上派镇滨河家园9栋2102'],
['李*', '陕西省安康市汉滨区新城街道南环东路口桃园小区大门口'],
['李*连', '北京市昌平区立汤路北七家威尼斯花园2区2-3'],
['籍*旭', '北京市房山区良乡鸿顺园西区20号楼3单元601'],
['韩*嵩', '北京市昌平区立汤路威尼斯花园2区2-3'],
['曹*', '北京市朝阳区东三环北路28号博瑞大厦B座'],
['贺*', '上海市徐汇区古美路1515号19号楼1101室'],
['关*轩', '山西省长治市石哲镇'],
['罗*', '河北省廊坊市书香苑小区四号楼'],
['段**', '北京市朝阳区酒仙桥东路M5世纪互联'],
['杜*伟', '北京市昌平区汇德商厦老男孩教育'],
['王*', '北京市昌平区汇德商厦四楼'],
['赵*波', '上海市闵行区上海市闵行区莘庄镇庙泾路水清三村52号32弄402室'],
['许*', '北京市海淀区西北旺镇中海枫涟山庄北门对面中心'],
['李*成', '北京市昌平区沙河镇于辛庄村天利合家园'],
[