Python中字典的setdefault()方法教程

 更新时间:2017年02月07日 14:37:29   作者:Huoty  
在学习python字典操作方法时,感觉setdefault()方法,比字典的其它基本操作方法更难理解的同学比较多,所以想着总结以下,下面这篇文章主要给大家介绍了Python中字典的setdefault()方法,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

在python基础知识中有说过,字典是可变的数据类型,其参数又是键对值。setdefault()方法和字典的get()方法在一些地方比较相像,都可以得到给定键对应的值。但setdefault()方法可以在字典中并不包含有给定键的情况下,为给定键设定相应的值。

Python 字典的 setdefault 方法原型如下:

dict.setdefault(key, default=None)

如果给定的 key 在字典中则返回该值,如果不在字典中,就将 key 插入到字典中,并将值设置为指定的 default 参数,default 的缺省值为 None。

使用 setdefault 方法相当于如下的操作:

if key in dict:
 reurn dict[key]
else:
 dict[key] = default
 return default

该方法与字典的 get 方法有些相似,但有些区别。dict.get dict.setdefault 方法在 key 存在于字典中时都能返回该值,在 key 不在字典中时,也都能返回缺省的值。两个方法的区别在于,当 key 不在字典中时 setdefault 方法会在字典插入缺省的键值并返回,而 get 方法只返回缺省值,不向字典中插入新的 key。

示例:

>>> dct = {}
>>> dct
{}
>>> dct["name"] = "huoty"
>>> dct
{'name': 'huoty'}
>>> dct.setdefault("name", "esenich")
'huoty'
>>> dct
{'name': 'huoty'}
>>> dct.setdefault("fname", "esenich")
'esenich'
>>> dct
{'name': 'huoty', 'fname': 'esenich'}
>>> dct.setdefault("addr")
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}
>>> dct.get("name", "xxx")
'huoty'
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}
>>> dct.get("age")
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}
>>> dct.get("age", 2)
2
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • Python利用psutil实现获取硬件,网络和进程信息

    Python利用psutil实现获取硬件,网络和进程信息

    Python 有一个第三方模块叫 psutil,专门用来获取操作系统以及硬件相关的信息,比如:CPU、磁盘、网络、内存等等。下面来看一下它的用法
    2022-07-07
  • django中显示字符串的实例方法

    django中显示字符串的实例方法

    在本篇文章里小编给大家整理了一篇关于django中显示字符串的实例方法,有兴趣的朋友们可以跟着学习参考下。
    2021-03-03
  • Series和DataFrame使用简单入门

    Series和DataFrame使用简单入门

    这篇文章主要介绍了Series和DataFrame使用简单入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • python中用Scrapy实现定时爬虫的实例讲解

    python中用Scrapy实现定时爬虫的实例讲解

    在本篇文章里小编给大家整理的是一篇关于python中用Scrapy实现定时爬虫的实例讲解内容,有兴趣的朋友们可以学习下。
    2021-01-01
  • python中的随机函数小结

    python中的随机函数小结

    这篇文章主要介绍了python中的随机函数小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Python 防止死锁的方法

    Python 防止死锁的方法

    这篇文章主要介绍了Python 防止死锁的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 跟老齐学Python之从if开始语句的征程

    跟老齐学Python之从if开始语句的征程

    前面做了很多铺垫了,真正的编程我们还没有讲过,各位童鞋也许早就不耐烦了,好吧,今天我们就从if语句来踏上我们的征程
    2014-09-09
  • 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    这篇文章主要介绍了在阿里云服务器上配置CentOS+Nginx+Python+Flask环境的教程,值得一提的是这里的方案用Nginx作反向代理而使用Gunicorn作wsgi服务器,需要的朋友可以参考下
    2016-06-06
  • Python中json模块load/loads方法实战以及参数详解

    Python中json模块load/loads方法实战以及参数详解

    经常在Python中对JSON格式的文件进行操作,今天对这些操作做一个总结,下面这篇文章主要给大家介绍了关于Python中json模块load/loads方法实战以及参数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • python中的被动信息搜集

    python中的被动信息搜集

    这篇文章主要介绍了python中的被动信息搜集的相关资料,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04

最新评论