博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3 使用 defaultdict 对键值对序列按 key 求和
阅读量:4227 次
发布时间:2019-05-26

本文共 767 字,大约阅读时间需要 2 分钟。

假设你有一个键-值对序列:

>>> datas=[('100',3), ('161',4), ('200',7), ('100', 5), ('200',11)]

需要将它以键为主体求和转换成下面这种字典:

{'100': 8, '161': 4, '200': 18}

你会怎么处理?

当然,常用的处理方法自然也可以达到同样的目的,像下面这种:

>>> datas=[('100',3), ('161',4), ('200',7), ('100', 5), ('200',11)]>>> total_count = {}>>> for data in datas:	if data[0] not in total_count:		total_count[data[0]] = data[1]	else:		total_count[data[0]] += data[1]		>>> total_count{'100': 8, '161': 4, '200': 18}

但是这种需要你自己添加判断,判断字典里边是否有对应的键,没有的话得自己设定键的值。

如果使用defaultdict的话,自然就简单多了:

>>> datas=[('100',3), ('161',4), ('200',7), ('100', 5), ('200',11)]>>> from collections import defaultdict>>> total_count = defaultdict(int)>>> for data in datas:	total_count[data[0]] += data[1]	>>> total_countdefaultdict(
, {'100': 8, '161': 4, '200': 18})

 

转载地址:http://wdjqi.baihongyu.com/

你可能感兴趣的文章
关于python,这些知识点你学会了吗?
查看>>
利用selenium爬取《西虹市首富影评》
查看>>
Python验证码识别
查看>>
机器学习、NLP和Python教程分享
查看>>
AWS Serverless培训分享
查看>>
python生成二维码
查看>>
在ubuntu上搭建文件服务器
查看>>
ServiceFabric: 在Windows上创建容器应用并部署到ServiceFabric中
查看>>
paramiko——一个专门为Linux设计的模块
查看>>
一个有趣的python项目---一个好玩的网站
查看>>
git常用命令总结
查看>>
Protobuf了解一下?
查看>>
超越Selenium的存在---Pyppeteer
查看>>
复仇者联盟4:终局之战剧透
查看>>
Msgpack有没有兴趣了解一下?
查看>>
探索一家神秘的公司
查看>>
PDF转Word完全免费?这么好的事情我怎么不知道????
查看>>
数据解读---B站火过蔡徐坤的“鬼畜“区巨头们
查看>>
Squid代理服务器搭建亿级爬虫IP代理池
查看>>
JupyterNotebook‘s Magic
查看>>