在Python中使用defaultdict初始化字典以及应用方法


Posted in Python onOctober 31, 2018

Python中可以使用collections中的defaultdict类实现创建进行统一初始化的字典。这里总结两种常用一点的初始化方式,分别是初始化为list和int。

初始化为list示范代码:

#!/usr/bin/python
 
from collectionsimport defaultdict
 
s = [('yellow',1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d =defaultdict(list)
for k,v in s:
d[k].append(v)
print(d.items()

运行结果如下:

E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythondict_init.py

[('blue', [2, 4]),('red', [1]), ('yellow', [1, 3])]

从上面的结果可以看出,这种初始化功能非常适合用于统计几个key出现过那几个value。而第二种初始化为int的方式则与此不同,它适合实现的不是统计key的所有value,而是统计一个key出现过多少次。

示范代码如下:

from collectionsimport defaultdict
 
s = 'mississippi'
d =defaultdict(int)
for k in s:
d[k] += 1
print(d.items())

运行结果如下:

E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythondict_int_int.py
[('i', 4), ('p',2), ('s', 4), ('m', 1)]

如上结果中,每个字典的key对应的value都是其出现的次数。

以上这篇在Python中使用defaultdict初始化字典以及应用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
Python实现常见的回文字符串算法
Nov 14 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
python编写俄罗斯方块
Mar 13 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 Python
浅谈matplotlib 绘制梯度下降求解过程
Jul 12 Python
PyCharm+PyQt5+QtDesigner配置详解
Aug 12 Python
python实现三次密码验证的示例
Apr 29 Python
一篇文章弄懂Python关键字、标识符和变量
Jul 15 Python
在ubuntu16.04中将python3设置为默认的命令写法
Oct 31 #Python
设置python3为默认python的方法
Oct 31 #Python
在双python下设置python3为默认的方法
Oct 31 #Python
利用Python将文本中的中英文分离方法
Oct 31 #Python
python list格式数据excel导出方法
Oct 31 #Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
Oct 31 #Python
Selenium定时刷新网页的实现代码
Oct 31 #Python
You might like
PHP Class&Object -- 解析PHP实现二叉树
2013/06/25 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
高中生的自我评价
2014/03/04 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
工作建议书范文
2014/05/13 职场文书
服务明星事迹材料
2014/12/29 职场文书
秋季运动会开幕词
2015/01/28 职场文书
小学语文教师研修日志
2015/11/13 职场文书
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android