【输入】
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)
【结果截图】