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遍历指定文件及文件夹的方法
May 09 Python
Python在图片中添加文字的两种方法
Apr 29 Python
深入理解Python分布式爬虫原理
Nov 23 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
Python对CSV、Excel、txt、dat文件的处理
Sep 18 Python
详解Python字典小结
Oct 20 Python
18个Python脚本可加速你的编码速度(提示和技巧)
Oct 17 Python
python实现的Iou与Giou代码
Jan 18 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
公认8个效率最高的爬虫框架
Jul 28 Python
Python游戏开发实例之graphics实现AI五子棋
Nov 01 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生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
很酷的javascript loading效果代码
2008/06/18 Javascript
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
python多线程抽象编程模型详解
2019/03/20 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
个人简历自我评价
2014/02/02 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
股权转让协议书范本
2014/04/12 职场文书
营销计划书范文
2015/01/17 职场文书
导游词格式
2015/02/13 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
2019银行竞聘书
2019/06/21 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL