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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2019-08-04

python get setdefault_python 字典 setdefault()和get()方法比较详解相关推荐

  1. python setdefault函数_python 字典 setdefault()和get()方法比较详解

    dict.setdefault(key, default=None) --> 有key获取值,否则设置 key:default,并返回default,default默认值为None dict.g ...

  2. python的socket模块_Python socket模块方法实现详解

    这篇文章主要介绍了python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 socket ssh (不带防止粘包的方 ...

  3. 如何在python制作计算器_Python简易计算器制作方法代码详解

    主要用到的工具是Python中的Tkinter库 比较简单 直接上图形界面和代码 引用Tkinter库 from tkinter import * 建立主窗口对象 window=Tk() #设置窗口对 ...

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

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

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

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

  6. python文件对象提供了3个读方法、分别是-Python读写文件模式和文件对象方法实例详解...

    本文实例讲述了Python读写文件模式和文件对象方法.分享给大家供大家参考,具体如下: 一. 读写文件模式 利用open() 读写文件时,将会返回一个 file 对象,其基本语法格式如: open ( ...

  7. python中的str方法和repr方法_详解Python中__str__和__repr__方法的区别

    对我当前工程进行全部测试需要花费不少时间.既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率. 但优点也是缺点,tmpfs 只把结果 ...

  8. python中tensorflow_Python Tensor FLow简单使用方法实例详解

    本文实例讲述了Python Tensor FLow简单使用方法.分享给大家供大家参考,具体如下: 1.基础概念 Tensor表示张量,是一种多维数组的数据结构.Flow代表流,是指张量之间通过计算而转 ...

  9. python getter setter_python的getter和setter方法使用详解

    本文主要内容:解释setter和getter的使用方法 解释@property装饰器的妙用 在python中,setter和getter方法并不像其它编程语言中的那样.基本上,在面向对象编程语言中,使 ...

最新文章

  1. 你不知道的CSS单位
  2. java httprequesthandler_Spring-webmvc源码解析之ResourceHttpRequestHandler
  3. 【Python】青少年蓝桥杯_每日一题_6.03_空心三角形图案
  4. 还不知道 Redis 分布式锁的背后原理?还不赶快学习一下
  5. 重试次数配置_TestNG实践——2.用例失败重试
  6. raid读写速度对比_U盘读写速度哪家强?4款全金属USB3.0的U盘读写速度对比
  7. 渗透测试之Nmap命令(二)
  8. C# 如何处理抛出的异常,或者已知的错误
  9. xsmax无法进入dfu模式_iPhoneXS/XSMax如何强制重启?如何进入恢复模式或DFU模式?...
  10. 使用clusterProfiler进行KEGG富集分析
  11. 用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)
  12. VMware Workstation虚拟机无法共享主机网络解决方法
  13. FTP服务简介与配置
  14. 高仿微信拍照,视频录制-----JCameraView
  15. 微信企业付款转账到微信
  16. 龙蜥LoongArch架构研发全揭秘,龙芯开辟龙腾计划技术合作新范式
  17. pb11 打印 自定义纸张_如何设置datawindow的打印纸张大小为指定的长、宽
  18. Linux 下查看Ubuntu系统版本信息
  19. 2016终端服务器配置,2016服务器的安装与配置.ppt
  20. Oracle问题排查 ONS configuration failed

热门文章

  1. scala中使用Option、Some、None,避免使用null
  2. 微服务架构下一致性最佳实践
  3. TCP的状态转换及生产问题实操
  4. Linux内核很吊之 module_init解析 (下)【转】
  5. Vuejs-踩坑/注意事项记录
  6. T4模板:MVC中用T4模板快速生成代码
  7. Exchange 2013 OWA重定向
  8. 关于过拟合、局部最小值、以及Poor Generalization的思考
  9. 【web开发学习笔记】Structs2 Action学习笔记(一个)
  10. C#版二维码生成器附皮肤下载