在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实现把数字转换成中文
Jun 29 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
python多进程实现进程间通信实例
Nov 24 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
Jun 26 Python
Python类的继承用法示例
Jan 31 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
深入了解Django中间件及其方法
Jul 26 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
如何使用Cython对python代码进行加密
Jul 08 Python
Prometheus开发中间件Exporter过程详解
Nov 30 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
基于mysql的bbs设计(二)
2006/10/09 PHP
DedeCms模板安装/制作概述
2007/03/11 PHP
PHP图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
IE bug table元素的innerHTML
2010/01/11 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
python使用opencv读取图片的实例
2017/08/17 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Python运行异常管理解决方案
2020/03/09 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
餐厅筹备计划书
2014/04/25 职场文书
2014年医生工作总结
2014/11/21 职场文书
加班费申请报告
2015/05/15 职场文书
征求意见函
2015/06/05 职场文书
学术会议开幕词
2016/03/03 职场文书
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python