python 字典 setdefault()和get()方法比较详解


Posted in Python onAugust 07, 2019

dict.setdefault(key, default=None) --> 有key获取值,否则设置 key:default,并返回default,default默认值为None

dict.get(key, default=None) --> 有key获取值,否则返回default。default默认值为None。

例子:循环迭代message字符串中每个字符,计算每个字符出现的次数

import pprint
message = "It is a good day, is not it?I mean the weather is good today." 
count1 = {}
for char in message:
 count1.setdefault(char, 0)
 count1[char] += 1 
count2 = {}
for char in message:
 count2[char] = count2.get(char, 0) + 1 
pprint.pprint(count1)
pprint.pprint(count2)

扩展:

defaultdict:属于collections 模块下的一个工厂函数,用于构建字典对象,接收一个函数(可调用)对象为作为参数。参数返回的类型是什么,key对应value就是什么类型。

例子:

python 字典 setdefault()和get()方法比较详解

一般写法:

data = [("p", 1), ("p", 2), ("p", 3),
  ("h", 1), ("h", 2), ("h", 3)]
result = {}
for (key, value) in data:
 if key not in result:
  result[key] = []
 result[key].append(value)

setdefault:

result = {}
data = [("p", 1), ("p", 2), ("p", 3),
  ("h", 1), ("h", 2), ("h", 3)]
for (key, value) in data:
 result.setdefault(key, []).append(value)

defaultdict:

from collections import defaultdict
result = defaultdict(list)
data = [("p", 1), ("p", 2), ("p", 3),
  ("h", 1), ("h", 2), ("h", 3)]
for (key, value) in data:
 result[key].append(value)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python psutil模块简单使用实例
Apr 28 Python
Python数组遍历的简单实现方法小结
Apr 27 Python
python实现K最近邻算法
Jan 29 Python
python爬取网页转换为PDF文件
Jun 07 Python
对python list 遍历删除的正确方法详解
Jun 29 Python
python 列表转为字典的两个小方法(小结)
Jun 28 Python
详解Python利用random生成一个列表内的随机数
Aug 21 Python
python多进程重复加载的解决方式
Dec 13 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 #Python
如何用Python来搭建一个简单的推荐系统
Aug 07 #Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 #Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 #Python
Python学习笔记之Django创建第一个数据库模型的方法
Aug 07 #Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 #Python
Python学习笔记之文件的读写操作实例分析
Aug 07 #Python
You might like
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
ExtJs的Date格式字符代码
2010/12/30 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
js模拟F11页面全屏显示
2019/09/17 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
Python 40行代码实现人脸识别功能
2017/04/02 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
活动总结怎么写
2014/04/28 职场文书
学生保证书范文
2014/04/28 职场文书
助理政工师申报材料
2014/06/03 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
实习生工作证明范本
2014/09/14 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
基督教追悼会答谢词
2015/09/29 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python