快递分拣

data_sourse = [
    ['王*⻰', '北京市海淀区苏州街⼤恒科技⼤厦南座4层'],
    ['庞*⻜', '北京市昌平区汇德商厦四楼403'],
    ['顾*锐', '江苏省扬州市三垛镇⼯业集中区扬州市⽴华畜禽有限公司'],
    ['王*⻜', '上海市徐汇区上海市徐汇区H88越虹⼴场B座5E'],
    ['华*升', '北京市海淀区杰睿⼤厦'],
    ['朱*锴', '上海市浦东新区川沙新镇华川家园33号楼503'],
    ['陈*盼', '浙江省杭州市闲林街道,⻄溪华东园,⼗幢⼀单元401。'],
    ['司*鹏', '河南省鹤壁市淇滨⼤道310号 鹤壁京⽴医院'],
    ['聂*睿', '河北省⽯家庄市中⼭路勒泰中⼼写字楼b座11层'],
    ['张*', '辽宁省本溪市明兴丽城九号楼四单元'],
    ['冉*晗', '河北省⽯家庄市体育南⼤街385号'],
    ['⾼*杰', '北京市朝阳区⼴渠路42号院3号楼,408'],
    #数据省略
    ['刘*', '湖北省武汉市左岭新城1社区15栋'],
    ['单*成', '⼭东省⽇照市⽇照职业技术学院'],
    ['韩*红', '上海市杨浦区隆昌路619号10号楼⼆楼'],
    ['魏*琪', '北京市丰台区汉威国际⼴场4区12号楼'],
    ['杨*康', '北京市丰台区丰台科技园汉威⼴场12栋'],
]
# 观察可得数据省市都是二位
# 思路:把值中的字符串前二位作为键,获取键的集合,匹对,添加到列表中
prv_set = set()  # 创建一个省份集合,空集合创建方法
prv_dict = {}#初始化一个空字典


def get_prv(str):  # 定义函数,从一段字符串中获取省份或者直辖市
    if str.find('省') != -1:
        return str[:str.find('省') + 1]
    elif str.find('市') != -1:
        return str[:str.find('市') + 1]
    else:
        exit(str)


for i in data_sourse:  # 遍历列表,获取省市的集合
    prv = get_prv(i[-1])
    prv_set.add(prv)
# prv.add()#将获取到的省市添加到集合
# 创建键值对,值为空列表
for i in prv_set:
    prv_dict[i] = []
# 将对应省市添加到(空)列表中
for i in data_sourse:
    prv_dict[get_prv(i[-1])].append(i)
# 打印结果
print(prv_dict)

运行结果

部分自治区按省算(加了省字)
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值