每日一题【python】 1快递分拣

文章介绍了如何使用Python的collections模块中的defaultdict功能,作为列表字典来存储和累加每个城市的特定信息。通过示例代码展示了如何输入城市和信息,然后按城市汇总并输出信息总数。
摘要由CSDN通过智能技术生成

 【输入】

10 
10124214 北京
12421565  上海
sdafasdg213 天津
fasdfga124 北京
145252  上海
235wtdfsg 济南
3242356fgdfsg 成都
23423 武汉  
23423565f 沈阳
1245dfwfs 成都

【输出】

北京 2
10124214
fasdfga124
上海 2
12421565
145252
天津 1
sdafasdg213
济南 1
235wtdfsg
成都 2
3242356fgdfsg 
1245dfwfs 
武汉 1
23423
沈阳 1
23423565f 

用python模块collections的defaultdict,设置default_factory为list,使得defaultdict可以用于充当列表字典,在对应key加入对应的value并累加。具体函数讲解可看python module index或者这位up:http://t.csdnimg.cn/M3TLa

【代码】

import os
import sys

# 请在此输入您的代码
from collections import defaultdict
if __name__ == "__main__":
    n = int(input())  # 输入条目数量
    city_info_accumulated = defaultdict(list)  # 用于存储每个城市的信息累计数
    # 输入数据并累计每个城市的信息数
    for i in range(n):
        info, city = input().split()  # 输入信息和城市
        city_info_accumulated[city].append(info)  # 将信息添加到城市的列表中
    # 输出每个城市的信息累计数
    for city, info_list in city_info_accumulated.items():
        print(city, len(info_list))#字符串累加输出
        for info in info_list:#查找info中的每个字符是否在列表里
            print(info)

【结果截图】 

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值