将数据源⾥的快递信息进⾏分拣,最终⽣成的数据格式如下:
{
"北京市":[
['王*⻰', '北京市海淀区苏州街⼤恒科技⼤厦南座4层'],
['庞*⻜', '北京市昌平区汇德商厦四楼403'],
....
],
"⼭东省":[
['孙*云', '⼭东省济南市⼭东省济南市历下区祥泰汇东国际,⼀号楼3005室'],
['鞠*⻰', '⼭东省潍坊市⽟清街江⼭帝景B区12号楼⼀单元14楼'],
['张*', '⼭东省济南市兴港路三庆城市主⼈']
}
没有的话,没什么必要需求的话我只放一部分就够了,有必要需求的自己找找
[
['王*龙', '北京市海淀区苏州街大恒科技大厦南座4层'],
['庞*飞', '北京市昌平区汇德商厦四楼403'],
['顾*锐', '江苏省扬州市三垛镇工业集中区扬州市立华畜禽有限公司'],
['王*飞', '上海市徐汇区上海市徐汇区H88越虹广场B座5E'],
['华*升', '北京市海淀区杰睿大厦'],
['冉*晗', '河北省石家庄市体育南大街385号'],
['高*杰', '北京市朝阳区广渠路42号院3号楼,408'],
['李*国', '安徽省合肥市新站区淮合花园'],
['常*源', '江苏省南京市白下路242号,南京市红十字医院,放射科'],
['冀*庆', '河北省保定市河北大学坤兴园生活区'],
['胡*晨', '浙江省宁波市浙江省宁波市江东区中山首府A座2004室'],
['尹*婷', '湖北省武汉市武汉大学信息学部'],
['李*东', '辽宁省大连市大关一街3号3-3-1'],
['张*', '天津市河西区隆昌路94号(天津科技馆)'],
['刘*', '湖北省黄冈市城关镇'],
['阿*亚', '内蒙古呼和浩特市包头东接民望家园1区3号楼2单元1501'],
['蔡*', '陕西省西安市凤城八路天朗御湖一号楼二单元(西门)'],
['高*', '新疆乌鲁木齐市民主路99号建行大厦12楼审计室'],
['孙*园', '陕西省西安市丈八沟街道科技五路8号数字大厦'],
['王*亚', '北京市朝阳区华盛乐章b座1708'],
['邹*', '宁夏银川市上海路福州街口云峰盛大药房'],
['袁*', '辽宁省锦州市辽宁省凌海市国庆路33B号2单元23室'],
['陈*', '浙江省杭州市昌化电站里56号骏程瓷砖店'],
['索*辉', '辽宁省沈阳市浑南区创新路117号东软医疗系统有限公司']
]
这里放的是最基本的过滤函数,如果你懒,这里就已经做完了
结尾处 print 一下即可
def filter():
filter_city = {
} # 存放过滤后的数据
others = [ "宁夏", "新疆", "西藏", "澳门", "香港", "广西"] # 将两个字的省份处理
for item in data:
province = item[1][:2] if item[1][:2] in others else item[1][:3]
# 如果前两个字在 others 列表里 前两个定义为省份名,其余的为三个字定义
if province not in filter_city:
# 判断是否有新建省份的key 在filter_city 字典里,没就新建一个列表
filter_city[province] = [item]
else:
filter_city[province].append(item) # 将内容添加进列表)
return filter_city
懒人的话结尾处print一下就完成了,此文章结束
print(filter())
将过滤好后的数据进行一个各省市 人数的一个统计
def count(): # 统计过滤后的数据
count = {
}
for i in filter():
count[i]=len(filter()[i])
return count
数据结构,本身并不存在什么换行,只能是通过输出语句进行操作
只是为了好看
def output(): # 格式化打印 只是为了好看。。
for province in filter():
print(province, ":")
for address in filter()[province]:
print(address)
print()
print(f"{'统计':=^48}")
for stat in count():
print(f"{stat}: 共计{count()[stat]}")
output()