在python的字典对象中,可以直接使用键名获取键值,像这样:

>>> d = {"x":1,"y":2}
>>> d["x"]
1
>>> d["y"]
2
>>>

但如果键名不存在,则会报错:

>>> d["z"]
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'z'
>>>

这就影响了代码的可执行性。不过可以使用get方法或者setdefault方法避免这种错误,两种方法的作用都是获取键的键值,如果键存在于字典中,则返回键值;如果字典中不存在这个键,则返回一个默认值(这个值默认是None,但可以自行设定),如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
d = {"x":1, "y":2}
print(d.get("z"))
print(d.get("z",9))

输入结果如下:

None
9

可以看到,“z“这个键并不存在字典中,使用get方法获取时,就返回了None,第二次使用get方法时,设置了返回的默认值 9 。setdefault方法也是一样的。

d = {"x":1, "y":2}
print(d.setdefault("z"))
print(d.setdefault("z",9))

python字典的setdefault方法和get方法相关推荐

  1. python中的items方法_Python 字典的items()方法和iteritems()方法有什么不同?【面试题详解】...

    今天爱分享给大家带来Python 字典的items()方法和iteritems()方法有什么不同?[面试题详解],希望能够帮助到大家. 字典是 Python 语言中唯一的映射类型.映射类型对象里哈希键 ...

  2. python中的format方法和int方法

    一.背景 我们在进行计算机进制转换的时候需要用到一些其他的进制,最常见的就是二进制,八进制,16进制.这里介绍两种方法去完成进制之间的转换. 二.使用 1 format方法 format方法中包含两个 ...

  3. python中的str方法和repr方法_Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些

    Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些 发布时间:2020-11-05 17:11:48 来源:亿速云 阅读:95 作者:Leah 本篇文章给大家分享的是有关P ...

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

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

  5. python 推迟运行_一文看懂Python的time模块sleep()方法和strftime()方法

    概述 今天主要介绍一下Python的time sleep()方法和strftime()方法. 一.Python time sleep()方法 Python time sleep() 函数推迟调用线程的 ...

  6. Python3 通过字典的get()方法和setdefault()方法添加映射多个值的元素(用列表和集合实现)

    字典中的值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组. 字典有以下几种常用添加元素的方法: dict = {'a': 1, 'b': 2} print(dict) # {'a': 1 ...

  7. [转载] Python字典的setdefault()方法

    参考链接: Python字典setdefault() Python字典的setdefault()方法 (2012-06-22 02:18:05)转载▼ setdefault(key[, default ...

  8. Python之数据重塑——【stack()方法和unstack()方法、pivot()方法】

    文章目录 重塑层次化索引 对于单层索引的DataFrame类对象 stack()方法 unstack()方法 对于多层索引的DataFrame类对象 辨析操作内层索引与外层索引的区别 查看多层索引对象 ...

  9. python predict_对Keras中predict()方法和predict_classes()方法的区别说明

    1 predict()方法 当使用predict()方法进行预测时,返回值是数值,表示样本属于每一个类别的概率,我们可以使用numpy.argmax()方法找到样本以最大概率所属的类别作为样本的预测标 ...

最新文章

  1. mac 显示隐藏文件
  2. hurricane中文_hurricane是什么意思
  3. 20155203 - 杜可欣 - 预备作业2
  4. PostgreSQL学习手册(PL/pgSQL过程语言)【转】
  5. 鼎信诺审计前端取数工具_给2019前端的5个建议
  6. 探秘Win7计算器,这货不只是计算器
  7. 如何列出mongo shell中的所有集合?
  8. 测试淘宝购物流程图,梳理基本流和备选流,测试用例
  9. Java数组怎么传给形参_在Java程序中,如果方法的形参是数组,则调用该方法时传递的是数组的...
  10. linux reedme常用单词,【每天打卡记单词】高中英语必背单词3500(Q/R)
  11. winrar 百度网盘_不冲百度网盘会员,如何在手机上打开网盘里的压缩包?
  12. zk-03-Zookeeper部署和运行
  13. apple watch更新系统时出现红色感叹号解决方法
  14. Qt之QImage类
  15. CUDA中SM对线程块的调度
  16. thinkphp5(thinkcmf5)2018年12月9日getshell漏洞
  17. 009/160 CrackMe Andrénalin #2
  18. 手把手教你调试构建一个Vue/小程序商城项目源码
  19. Java编程常见bug及解决方法
  20. MBR60200PT-ASEMI肖特基二极管常见型号MBR60200PT

热门文章

  1. 我对对象和引用的理解
  2. Kafka学习-复制
  3. [摘录]高效人士七习惯—从依赖到独立
  4. Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)(转)
  5. ComponentArt TreeView for ASP.NET - Core Features
  6. 奇怪的方式c语言,C语言中奇怪的C语言特性
  7. 中计算散度的函数_荷畔微风 - 在函数计算FunctionCompute中使用WebAssembly
  8. 【PP生产订单】入门介绍(十二)
  9. 获取Domain中Value Range值和描述文本的方法
  10. 数据表_业务地址(Business Address)信息