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程序与系统shell交互的方式
Apr 09 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
python字符串的方法与操作大全
Jan 30 Python
Python实现将json文件中向量写入Excel的方法
Mar 26 Python
python获取文件真实链接的方法,针对于302返回码
May 14 Python
Python单元测试简单示例
Jul 03 Python
对python For 循环的三种遍历方式解析
Feb 01 Python
Django实现文件上传和下载功能
Oct 06 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
python基础之类属性和实例属性
Oct 24 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
Cakephp 执行主要流程
2010/03/24 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
URL中“#” “?” &“”号的作用浅析
2017/02/04 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
Python Requests库基本用法示例
2018/08/20 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
库房管理员岗位职责
2014/03/09 职场文书
党员目标管理责任书
2014/07/25 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
售后服务承诺函格式
2015/01/21 职场文书
思想道德自我评价2015
2015/03/09 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
2019销售早会主持词
2019/06/27 职场文书
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL