Python的字典中的get()方法,接受一个键和一个缺省值。如果键在字典中,get返回对应的值,否则返回缺省值,并不会修改字典或添加不存在的键值对。

dic = dict(zip('abc',range(1,4)))

print dic

{'b': 2, 'a': 1, 'c': 3}

dic.get('z',100)

100

dic.get('a',100)

1

以上的代码中,因为‘z’不是字典dic中的键,所以返回缺省值,100.

‘a’是字典dic中的键,于是直接返回a对应的键值。

利用get方法写一个计算字符串中字母出现次数的函数:

txt = "Load up on guns Bring your friends"

def count_letter(str):

dic = {}

for letter in txt:

dic[letter] = 1 + dic.get(letter,0)

return dic

print(count_letter(txt))

以上的代码,没用if,直接用get()方法,一行就做了一个字典计数器

setdefault方法与get方法类似,也接受两个参数,一个键和一个缺省值。当键在字典中时,和get()方法没有区别,返回对应的键值。但是当键不在字典时,setdefault()方法不仅会返回缺省值,也会在字典中添加该键值对。

dic = dict(zip('abc',range(1,4)))

print dic

{'b': 2, 'a': 1, 'c': 3}

dic.setdefault('a',100)

100

print dic

{'b': 2, 'a': 1, 'c': 3}

dic.get('z',100)

1

print dic

{'b': 2, 'z': 100, 'c': 3, 'a': 1}

以上的代码中,由于‘a’在字典dic中,于是返回a对应的键值,dic不变;

'z'不在字典dic中,于是返回缺省值,且我们在打印字典后发现('z',100)的键值对已经添加到了字典中。

利用default方法写一个反转字典键与键值的函数

def invert_dic(dictionary):

inv = {}

for key,val in dictionary.items():

inv.setdefault(val,[]).append(key)

return inv

dic = {'a':1,'b':2,'c':1}

print(invert_dic(dic))

字典中可能还存在不同的键有着相同的键值,所以新的字典键值为一个列表。

python字典get计数_python字典中的get方法与setdefault方法相关推荐

  1. python画50个图-python 实现在一张图中绘制一个小的子图方法

    有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...

  2. python画简便的图-python 实现在一张图中绘制一个小的子图方法

    有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...

  3. python一张图-python 实现在一张图中绘制一个小的子图方法

    有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...

  4. python文本筛选_使用python对多个txt文件中的数据进行筛选的方法

    使用python对多个txt文件中的数据进行筛选的方法 一.问题描述 筛选出多个txt文件中需要的数据 二.数据准备 这是我自己建立的要处理的文件,里面是随意写的一些数字和字母 三.程序编写 impo ...

  5. python字典get计数_Python内部是如何存储GC引用变量的计数的?

    这段时间一直在想一个问题,为什么Python有了GIL依然还要对变量加锁.Google的过程中查看一些东西,有了新的困惑. 一个说法说Python内部保存了一个用户空间和一个内核空间.用户空间通常就是 ...

  6. python中的字典推导式_python 字典推导式(经典代码)(22)

    文章首发微信公众号,微信搜索:猿说python 在昨天的文章中,我们介绍了关于字典推导式使用方法其实也类似,也是通过循环和条件判断表达式配合使用,不同的是字典推导式返回值是一个字典,所以整个表达式需要 ...

  7. python中采用字典建立统_Python字典的基本使用

    本文首发于公众号「猿天罡」,转载请注明出处,谢谢. 前言 相比于列表,字典是更为灵活的一种数据结构.它能将相关信息关联起来,本文中我们一起来学习Python字典的基本用法,即如何添加.访问.修改和删除 ...

  8. python字典取值_python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...

  9. python中的字典和集合_Python 字典和集合

    字典的每个键值对用冒号分割,键值对之间用逗号分隔,所有键值对包括在{}中. d = {key1 : value1, key2 : value2 } 键必须是唯一的,值可以不唯一.值可以取任何数据类型, ...

最新文章

  1. 蓝桥杯比赛常考算法_蓝桥杯总结-常用函数及算法
  2. android 手动 打包,android 手动打包apk
  3. IF_BSP_WD_HISTORY_STATE_DESCR~IS_RESTORABLE的用法
  4. java高并发抢单编程模型_Java高并发模型
  5. python3 文件相关操作
  6. YOLOv3使用自己数据集——Kmeans聚类计算anchor boxes
  7. Spark学习之第一个程序打包、提交任务到集群
  8. 2014年百度之星程序设计大赛 - 初赛(第二轮)JZP Set
  9. 苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条...
  10. 安装conntrack-tools
  11. 服务器imm装系统,通过IMM With Remote Console为服务器安装操作系统
  12. 专升本计算机综合-数据结构篇
  13. 利用遗传算法解决TSP问题
  14. 关于vs应用程序无法正确启动问题
  15. 在Eclipse中安装JSHint插件
  16. web前端入门到实战:CSS box-sizing属性的正确用法
  17. 如何在树莓派上进行python编程_树莓派Python编程指南
  18. Notepad++的第三方插件介绍中文翻译
  19. 分水岭:知识的深度拓展
  20. Linux文件处理命令 file、mkdir、grep、dd、mv、diff

热门文章

  1. iOS-常用的自定义控件
  2. SQL Server的一个不显眼的功能 备份文件的分割
  3. RHEL-5搭建SSH服务器
  4. 数据库:SQL Server与MySQL
  5. C【C#公共帮助类】分页逻辑处理类
  6. [ CodeVS冲杯之路 ] P1044
  7. [实变函数]4.4 依测度收敛
  8. 解决启动httpd报: apr_sockaddr_info_get() failed for错误
  9. python变量词是什么意思_python1变量,表达式和语句
  10. 电脑开两个微信_怎么在电脑上登陆两个微信?