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格式化css文件的方法
Mar 10 Python
python简单猜数游戏实例
Jul 09 Python
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
python 实现 hive中类似 lateral view explode的功能示例
May 18 Python
python 多线程共享全局变量的优劣
Sep 24 Python
python集合的新增元素方法整理
Dec 07 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 Python
只用Python就可以制作的简单词云
Jun 07 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
基于php验证码函数的使用示例
2013/05/03 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
最大K个数问题的Python版解法总结
2016/06/16 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
Python理解递归的方法总结
2019/01/28 Python
浅析python的Lambda表达式
2019/02/27 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
如何基于Python创建目录文件夹
2019/12/31 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
Notino法国:购买香水和化妆品
2019/04/15 全球购物
Linux的主要特性
2014/10/06 面试题
争先创优公开承诺书
2014/08/30 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
颐和园的导游词
2015/01/30 职场文书
怎样写观后感
2015/06/19 职场文书
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers