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输出一个杨辉三角的例子
Jun 13 Python
python fabric使用笔记
May 09 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
python 垃圾收集机制的实例详解
Aug 20 Python
python shell根据ip获取主机名代码示例
Nov 25 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
python进行文件对比的方法
Dec 24 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 Python
python实现语音常用度量方法的代码详解
May 25 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 empty() 检查一个变量是否为空
2011/11/10 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
2013/07/03 PHP
php生成QRcode实例
2014/09/22 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
js命名空间写法示例
2015/12/18 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
关于vue面试题汇总
2018/03/20 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
原生JS实现留言板
2020/03/26 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python读取properties配置文件操作示例
2018/03/29 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
C语言笔试题
2014/09/04 面试题
十八大闭幕感言
2014/01/22 职场文书
火车的故事教学反思
2014/02/11 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
《绝招》教学反思
2016/02/20 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python