Python 将数据源⾥的快递信息进⾏分拣

Python 将数据源⾥的快递信息进⾏分拣

文章目录

  • Python 将数据源⾥的快递信息进⾏分拣
    • 实例题目
      • 关于数据源
    • 基本的过滤(核心)
    • 进行统计
    • 格式化打印

实例题目

将数据源⾥的快递信息进⾏分拣,最终⽣成的数据格式如下:

{
     
 	"北京市":[
	 ['王*⻰', '北京市海淀区苏州街⼤恒科技⼤厦南座4层'],
 	['庞*⻜', '北京市昌平区汇德商厦四楼403'],
	 ....
 	],
 	"⼭东省":[
 	['孙*云', '⼭东省济南市⼭东省济南市历下区祥泰汇东国际,⼀号楼3005室'],
 	['鞠*⻰', '⼭东省潍坊市⽟清街江⼭帝景B区12号楼⼀单元14楼'],
 	['张*', '⼭东省济南市兴港路三庆城市主⼈']
}

关于数据源

我相信你们都有的
Python 将数据源⾥的快递信息进⾏分拣_第1张图片

没有的话,没什么必要需求的话我只放一部分就够了,有必要需求的自己找找

[
	['王*龙', '北京市海淀区苏州街大恒科技大厦南座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()

你可能感兴趣的:(python,列表)