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就是什么类型。

例子:

一般写法:

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 setdefault函数_python 字典 setdefault()和get()方法比较详解相关推荐

  1. python des解密_python实现DES加密解密方法实例详解

    本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...

  2. python中列表的sort方法_python中列表的sort方法使用详解

    内容简介:python中列表的sort方法使用详解 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 排序,数字.字符 ...

  3. Python字典的11个方法超级详解

    Python字典是一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. print(dir(dict)) ['clear', 'copy', 'fromkeys', 'get' ...

  4. 【Python入门】Python字典的11个方法超级详解

    Python字典是一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. print(dir(dict)) ['clear', 'copy', 'fromkeys', 'get' ...

  5. python多元非线性回归_Python利用神经网络解决非线性回归问题实例详解

    本文实例讲述了Python利用神经网络解决非线性回归问题.分享给大家供大家参考,具体如下: 问题描述 现在我们通常使用神经网络进行分类,但是有时我们也会进行回归分析. 如本文的问题: 我们知道一个生物 ...

  6. python可变参数_Python 的四种共享传参详解

    点击上方"Python数据之道",选择"星标公众号" 精品文章,第一时间送达 作者 | 杨仁聪 编辑 | Lemon 出品 | Python数据之道 本文来自公 ...

  7. Python open()函数文件打开、读、写操作详解

    python的文件读写和打开操作都有自己特定的函数和方法,操作起来很简单.下面就来简单的了解下python文件的基本操作方法有哪些. 一.Python open()函数文件打开操作 打开文件会用到op ...

  8. python place布局_Python TKinter布局管理Place()Grid Pack详解

    Tkinter是Python标准GUI工具包,有三种布局管理方式: pack grid place 这三种布局管理在同一个 master window 里是不可以混用的. 下面通过三示例,详解使用参数 ...

  9. python布局管理_Python基础=== Tkinter Grid布局管理器详解

    本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html          @ 箬笠蓑衣 Grid(网格)布局管理器会将控件放置到一个二维的表 ...

最新文章

  1. 专访NIPS主席:如何保证论⽂评审的公平性?| 人物志
  2. 深入理解nodejs中的异步编程
  3. python操作hive数据库代码_Python连接Hive操作数据库
  4. k8s核心技术-Controller(statefulSet)_部署有状态应用---K8S_Google工作笔记0033
  5. PyQt教程 - pythonQt的安装和配置及版本间差异
  6. 全网首发:终极解决办法:/usr/bin/ld: libcc.so: no symbol version section for versioned symbol `memcpy@GLIBC_2.0‘
  7. docker网络模式--资源分配叙述(1)
  8. 概率论排列公式和组合公式实质 压强 : 压力=ps=压强*面积; 万有引力公式:
  9. logback 多实例 归档问题 无法自动删除.tmp文件问题
  10. python中e怎么计算_Python之循环结构——实战计算自然底数e,圆周率Π
  11. 使用Java做ORC图片识别
  12. gitlab服务器代码存储位置,gitlab仓库存储位置的修改方法
  13. 炒股流程|开户流程|如何炒股
  14. autodesk(欧特克)CAD发展简史
  15. 【DIRECTX状态详解】
  16. 鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,没有例外。已知现在可以看到笼子里m个头和n只脚,求鸡和兔子各有多少只?(输出一组数据)
  17. 吴京砸向MOSS的伏特加,被做成了串口助手
  18. 6-1 计算年year、月month和日day对应的是该年的第几天
  19. 毕业设计 stm32酒驾检测系统 - 单片机 嵌入式 物联网
  20. linux百度贴吧自动顶贴,[启动器]Hello Minecraft! Launcher 2 - Win/Mac/Linux

热门文章

  1. Ubuntu Server 13.04安装图形界面
  2. CSS3.0_选择器_学习笔记
  3. OpenCv2 学习笔记(1) Mat创建、复制、释放
  4. fastjson jar包_Fastjsonlt;=1.2.47反序列化RCE漏洞(CNVD201922238)
  5. 剑指offer(15)反转链表
  6. oracle 处理过程,Oracle SQL语句处理过程(转载)
  7. Android开发之EditText无法获取光标的问题
  8. 多个点 最远距离 java_世界上最远的距离
  9. java 反向映射,如何使用lambdas實現反向映射Java?
  10. python spark视频_Spark2.x+Python大数据机器学习视频课程