柒冰 2022-04-26 14:36 采纳率: 90.9%
浏览 111
已结题

统计用户的快递订单便于处理


addr_dict=
{   '北京市':[['王*龙''北京市……'],
                     ['庞*飞''北京市……'],
                     ……
                    ],
   '江苏省':[['顾*锐''江苏省……'],
                    ……
         ],
    ……

}

在“双11”结束后,对用户的快递订单进行统计
设计要求:
1.自己编写数据
2.提取每个快递订单的省份信息,并根据快递信息中的“省份”将订单存储到新字典addr_dict中。字典addr_dict的结构如上,其中“键(key)”为省份全名,“值(value)”为属于该省份的快递订单列表。
3.根据存储在字典对象addr_dict中的数据,统计并输出发往各省份的快递数量。

其他要求:
提供的快递信息中,特殊省份名称为两个字(实际省份全名多于3个字,如“新疆”实际应为“新疆维吾尔自治区”);正常省份或直辖市均为3个字(如浙江省、上海市)。

利用每个地址的前3个字符(省或直辖市),当做key,每次循环时,判断字典addr_dict(用于存放分拣结果)中有没有对应省份的key;若没有,则初始化新省份的键值对,加入一个快递信息;若有,直接调用对应省份的key,并追加新的快递信息。

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-04-26 14:58
    关注

    不知道是否这个意思?由于没有具体数据,如果还包含具体地址,名字比较难提取

    img

    addr_dict={}
    s='''上海市李四
    江苏省南京市顾锐
    广西桂林市王五
    新疆乌鲁木齐市张三
    广西南宁市赵六
    上海市钱多多'''
    lst=s.split('\n')
    
    for item in lst:
        if item[2]=='省' or item[2]=='市':
            pro=item[0:3]
        else:
            pro=item[0:2]
        value=addr_dict.get(pro,[])
        value.append(item)
        addr_dict[pro]=value
    
    #print(addr_dict)
    for k,v in addr_dict.items():
        print(k,'快递数量:',len(v))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月10日
  • 已采纳回答 5月2日
  • 创建了问题 4月26日

悬赏问题

  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加