柒冰 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 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c