定义

1.字典的setdefault() 方法和 get()方法类似,返回指定键的值,如果键不在字典中,将会添加键值对,值默认为None。
2.setdefault()与get()区别
setdefault() 返回的键如果不在字典中,会添加键(更新字典),而 get() 不会添加键。

语法

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

dict.setdefault(key, default=None)

代码实现

#coding=utf-8# setdefault()的语法
# dict.setdefault(key, default=None)
# key :查找的键值
# default :若键不存在,设置的默认键值
# 若查找的key在字典中,则返回相应的值,不在就返回default,default默认值为None
# 特性:保护了字典原来数据的情况下进行赋值d1 = {"Name": "Jay", "Age": 41}
# 当查找的键值 key存在的时候,新的数据将不会被更新到原字典中,这样就保护了原字典的数据不受改变
print("Name 键的值为 :",d1.setdefault("Name","JJ"))
print("Age 键的值为 :",d1.setdefault("Age", None))# 当查找的键值 key不存在的时候,setdefault()函数会返回默认值并更新字典,添加键值对
print("Sex 键的值为 :",d1.setdefault("Sex", "男"))
print("新字典为:", d1)print("❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤")# 扩展:
# 要是我们想要改变原字典的值该怎么办呢?
# 字典直接赋值(单个)
d1["Name"]="周杰伦"
print("改名字后的新字典为:",d1)# 字典批量更新
d2 = {"性别": "男", "职业": "导演"}
d1.update(d2)
print("d1字典进行批量操作后为",d1)# 注意:使用update批量更新时,若key相等,则值会改变
d2 = {"Name": "花菜", "Age": "一个月"}
d1.update(d2)
print("d1字典进行批量操作后为",d1)print("❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤")# setdefault()与get()区别
# setdefault()找不到key,就返回默认值None并更新字典,添加键值
# get只返回默认值,而不会改变原字典
a = {}
x = a.setdefault("姓名")
print(x)
print(a)x1 = a.get("姓别")
print(x1)
print(a)print("❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤")# 找到key,就返回对应的值
b = {"姓名":"甜甜"}
x2 = b.setdefault("姓名")
print("x2的值为",x2)
print("字典b为",b)

运行结果

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

Python字典(Dictionary)的setdefault()方法的详解,字典中的赋值技巧相关推荐

  1. java8 方法引用详解_Java8中如何通过方法引用获取属性名详解

    前言 在我们开发过程中常常有一个需求,就是要知道实体类中Getter方法对应的属性名称(Field Name),例如实体类属性到数据库字段的映射,我们常常是硬编码指定 属性名,这种硬编码有两个缺点. ...

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

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

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

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

  4. python100例详解-Python编程之属性和方法实例详解

    本文实例讲述了Python编程中属性和方法使用技巧.分享给大家供大家参考.具体分析如下: 一.属性 在python中,属性分为公有属性和私有属性,公有属性可以在类的外部调用,私有属性不能在类的外部调用 ...

  5. php调用python程序的五种方法及详解

    方法一 exec ( string $command [, array &$output [, int &$return_var ]] ) : string 备注: exec有3个参数 ...

  6. java中的invoke方法_详解Java中Method的Invoke方法

    在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到M ...

  7. 长度短点的uuid_Python生成短uuid的方法实例详解

    python的uuid都是32位的,比较长,处理起来效率比较低, 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62 ...

  8. java sleep唤醒_详解Java中的线程让步yield()与线程休眠sleep()方法

    Java中的线程让步会让线程让出优先级,而休眠则会让线程进入阻塞状态等待被唤醒,这里我们对比线程等待的wait()方法,来详解Java中的线程让步yield()与线程休眠sleep()方法 线程让步: ...

  9. JS 中 valueOf() 方法的详解

    JS 中 valueOf() 方法的详解 JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身.通常由JavaScript内部调用,而不是在 ...

最新文章

  1. Java中如何锁文件
  2. fineUI表格控件各属性说明
  3. “苹果光环”褪色后,瑞声靠什么坐稳头把交椅?
  4. c 将数字数组转成字符串_C+|用指针指向字符串字面量、字符数组及字符指针数组...
  5. TCP/IP协议族之应用层协议(FTP、TFTP)
  6. jsmin php,使用JSMin.php缩小Javascript
  7. 安卓入门程序《发短信》
  8. ajax返回失败原因,ajax POST请求返回失败
  9. c++ 二维数组传递
  10. 在教学中利用计算机软件,计算机软件技术教学方法研究
  11. windows server 2003优化设置方法
  12. 苹果硬件技术高级副总裁揭露:自研 M1 太难了
  13. 跳转定义_解决tensorflow2.0在Pycharm中的自动补全及跳转定义问题
  14. 用于语音情绪识别的基于对抗学习的说话人无关的表示
  15. ML————朴素贝叶斯原理和SKlearn相关库
  16. 55.购物流程(2)---configurable product
  17. html session修改,html session
  18. mysql汽车网站数据库设计_基于数据库和JAVA的网上汽车租赁管理系统的设计(MySQL)...
  19. maven(2)——修改maven的setting.xml文件,更改下载地址和镜像
  20. jmeter录制 过滤_Jmeter(二)-使用代理录制脚本

热门文章

  1. nginx 上传 文件超时设置_nginx限制上传大小和超时时间设置说明/php限制上传大小...
  2. 职中心得体会300字高一计算机,职业高中毕业的自我鉴定范文300字
  3. python selenium iframe怎么定位_python+selenium四:iframe查看、定位、切换
  4. android 命令使用详解,Android下pm 命令详解
  5. lwip网络通信socket_lwIP在Socket模式下接口:BSD Socket API
  6. php callable 参数,php 利用反射执行callable
  7. 使用python对数据集进行批处理
  8. oracle解析md5,Oracle中的MD5加密详解
  9. 基于Java SSM springboot+VUE+redis实现的前后端分类版网上商城项目
  10. 微机原理换行代码_微机原理课程设计——汇编输出杨辉三角