在Python中,字典(Dictionary)类型是一个mapping mutable的数据类型,这个对象有一个函数,setdefault。

dict.setdefault(key, default=None)

setdefault从字面含义上来看,就是设置默认值的意思,但是此函数并不能真正改变已经存在的key对应的value。

>>>

>>> ddd = {}

>>> ddd.setdefault('a',1)

1

>>> ddd.setdefault('a',2)

1

>>> ddd

{'a': 1}

>>>

key='a'一开始不存在,使用setdefault函数将'a'的默认值设置为1,然后再次调用setdefault函数,并不能改变'a'的默认值。

在setdefault函数使用时,如果不指定value,默认的value就是None(None在Python中也是一个对象,记住Python中一切都是对象,Python支持动态类型变换)。

>>>

>>> ddd.setdefault('b')

>>> ddd

{'a': 1, 'b': None}

>>> ddd.setdefault('b',2)

>>> ddd

{'a': 1, 'b': None}

>>>

由此可以看出,setdefault函数的设计思想,设置key对应的默认值,如果key存在,key对应的value不会被改变,而且函数总是返回key的默认值。

在setdefault之后,dict类型的对象就有了index(key),然后就可以直接通过index来修改对应的value。或者直接通过index(key),可以增加dict对象中的key-value pairs。

>>>

>>> dt = {}

>>> dt['a']=1

>>> dt['b']=1

>>> dt['c']=1

>>> dt

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

>>>

在只知道key,还不知道value的时候,可以使用setdefault来设置key,默认key对应的value是None。或者直接这样:

>>>

>>> dg = {}

>>> dg['abc']=None

>>>

python setdefault函数_Python字典(Dictionary)setdefault()函数理解相关推荐

  1. python中字典的常用函数_Python字典dict常用方法函数实例

    dict={'name':'Joe','age':18,'height':60} clear,清空 dict.clear() #运行结果{} pop,移除指定key的键值对并返回vlaue(如果没有该 ...

  2. python汉语词典_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

  3. python编程词典_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  4. [转载] python单词词典_Python 字典(Dictionary)

    参考链接: Python字典dictionary clear方法 Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>valu ...

  5. [转载] python cmp函数比较字典_Python 字典(Dictionary) cmp()方法

    参考链接: Python cmp方法 Python 字典(Dictionary) cmp()方法 描述 Python 字典(Dictionary) cmp() 函数比较两个字典元素. 语法 cmp() ...

  6. python中len字典_Python 字典(Dictionary) len()方法

    Python 字典(Dictionary) len()方法 描述 Python 字典(Dictionary) len() 函数计算字典元素个数,即键的总数.高佣联盟 www.cgewang.com 语 ...

  7. python字典经典例题_python 字典(Dictionary)的一些内置函数和经典例题

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 修改字典 向字典添加新 ...

  8. Python 字典(Dictionary) setdefault()方法

    描述 Python 字典 setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值. 语法 setdefault() 方法语法: dict.setde ...

  9. python 字典代码_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包 ...

  10. python输入文字、成为字典_Python 字典(Dictionary)操作详解

    一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} ...

最新文章

  1. 【青少年编程】【答疑】控制Scratch异步代码的执行顺序
  2. Linux进程间通信六 Posix 共享内存简介与示例
  3. 蓝桥杯java 算法训练 区间K大数查询
  4. mysql中的字典项是啥_常见数据库设计(1)——字典数据
  5. Rabbitmq~对Vhost的配置
  6. YBTOJ:方程的解(组合数学)(插板法)
  7. LeetCode 605 种花问题
  8. 连续4年财务造假 造假金额过亿!捧红杨幂的欢瑞世纪被重罚
  9. GB28181协议中的事件系统设计
  10. 异常处理——我应该抓住这个异常吗?
  11. 高仿114la网址导航源码完整最新版
  12. python接口自动化(三十九)- logger 日志 - 上(超详解)
  13. 红旗7.0 rc1 版编辑开始菜单
  14. Android快速开发框架Android-query
  15. 基于LCD1602的多功能万年历,温湿度计,非RTC时钟芯片单片机技术
  16. java module和model_Java9-Modularity 初探
  17. 云计算基础2-什么是云存储?
  18. 通信工程用这些书应该够了
  19. 你猜,帕特∙基辛格、郭尊华、郭为、田溯宁为什么相视而笑?
  20. python儿童编程教程视频_简单回顾_清华尹成python入门教程_少儿编程视频-51CTO学院...

热门文章

  1. phthon学习笔记(3)
  2. VBA学习笔记(6)--抽取第一列中叫“虹虹”的个人信息
  3. surging+EFCore 服务实现入门
  4. Writing A Threadpool in Rust
  5. LeetCode 242 Valid Anagram
  6. OSI参考模型(2)
  7. Security+ 学习笔记50 取证技术
  8. LNMP详解(十一)——Nginx URL重写原理
  9. leetcode 14 最长公共前缀(python)
  10. HDOJ--4548--美素数