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写的一个squid访问日志分析的小程序
Sep 17 Python
在Python的Django框架中用流响应生成CSV文件的教程
May 02 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
May 08 Python
Python爬虫包BeautifulSoup学习实例(五)
Jun 17 Python
python 常见字符串与函数的用法详解
Nov 23 Python
关于Python中的向量相加和numpy中的向量相加效率对比
Aug 26 Python
记录模型训练时loss值的变化情况
Jun 16 Python
python中np是做什么的
Jul 21 Python
python爬虫基础之urllib的使用
Dec 31 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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
如何让CI框架支持service层
2014/10/29 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
php实现映射操作实例详解
2019/10/02 PHP
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
JS中input表单隐藏域及其使用方法
2017/02/13 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
ant design实现圈选功能
2019/12/17 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
小程序实现列表倒计时功能
2021/01/29 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
Python 递归函数详解及实例
2016/12/27 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python中几种自动微分库解析
2019/08/29 Python
python Pexpect模块的使用
2020/12/25 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
护理学中专毕业生求职信
2013/11/11 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
个人作风建设自查报告
2014/10/22 职场文书
护士节慰问信
2015/02/15 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python