在Python中操作字典之setdefault()方法的使用

当我们需要在Python中操作字典时,setdefault()方法可以提供一个方便的方式来获取字典中的值,同时也可以在字典中新增键值对。以下是使用setdefault()方法的完整攻略:

1. setdefault()方法的基本语法

setdefault()方法是字典类dict的一个方法,它的基本语法如下所示:

dict.setdefault(key, default=None)

其中,key表示要获取或者新增的键的名称,default则是在字典中找不到指定键时返回的默认值。

2. 使用setdefault()方法获取字典中的值

我们可以使用setdefault()方法来获取字典中指定键的值。如果该键存在于字典中,则返回其对应的值;如果该键不存在,则返回设置的默认值。

示例1:获取字典中指定键的值

# 定义一个字典
dict1 = {"name": "Lucy", "age": 20, "city": "Shanghai"}

# 使用setdefault()方法获取键name对应的值
val1 = dict1.setdefault("name", "Unknown")
print(val1) # 输出结果:Lucy

# 使用setdefault()方法获取键job对应的值
val2 = dict1.setdefault("job", "student")
print(val2) # 输出结果:student

示例2:使用setdefault()方法获取字典中不存在的键的值

# 定义一个字典
dict2 = {"name": "Jack", "age": 30, "city": "Beijing"}

# 使用setdefault()方法获取键job对应的值,并设置默认值为"Unknown"
val3 = dict2.setdefault("job", "Unknown")
print(val3) # 输出结果:Unknown

3. 使用setdefault()方法向字典中新增键值对

如果我们需要向字典中新增键值对,可以使用setdefault()方法。如果指定的键已经存在于字典中,则返回该键对应的值;如果不存在,则向字典中新增该键值对,并返回设置的默认值。

示例3:向字典中新增一个键值对

# 定义一个字典
dict3 = {"name": "Tom", "age": 25, "city": "Guangzhou"}

# 向字典中新增一个键值对
dict3.setdefault("phone", "13900000000")

# 打印字典中的内容
print(dict3)

# 执行结果:
# {'name': 'Tom', 'age': 25, 'city': 'Guangzhou', 'phone': '13900000000'}

在上述示例中,由于phone键不存在于字典中,因此setdefault()方法向字典中新增了该键值对,并返回设置的默认值。

示例4:获取键job对应的值,并向字典中新增一个键值对

# 定义一个字典
dict4 = {"name": "Lily", "age": 18, "city": "Chengdu"}

# 使用setdefault()方法获取键job对应的值,并设置默认值为"student"
val4 = dict4.setdefault("job", "student")

# 打印获取到的键值对
print(val4) # 输出结果:student

# 打印字典中的内容
print(dict4)

# 执行结果:
# {'name': 'Lily', 'age': 18, 'city': 'Chengdu', 'job': 'student'}

在上述示例中,由于job键不存在于字典中,因此setdefault()方法向字典中新增了该键值对,并返回设置的默认值"student"。

到此为止,我们已经讲解了在Python中操作字典之setdefault()方法的使用。通过以上两个示例,我们可以了解到setdefault()方法在获取字典中的值和新增键值对时的常见用法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中操作字典之setdefault()方法的使用 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 朵唯L520值不值得买吗?朵唯L520 YunOS系统上手详细体验评测

    朵唯L520值不值得买? 本文将介绍朵唯L520值不值得买的完整攻略,包括朵唯L520的配置、性能、使用体验、优缺点等方面的评测,以及朵唯L520的适用场景和示例说明。 1. 配置和性能 朵唯L520采用了联发科MT6735P处理器,配备了2GB RAM和16GB ROM,支持最大128GB的扩展存储。屏幕为5.2英寸720P分辨率,后置摄像头为1300万像…

    云计算 2023年5月16日
    00
  • Python实现读取文件的方法总结

    下面我就为您详细讲解 “Python实现读取文件的方法总结”的完整攻略。 1. read() 方法 read() 方法可以读取整个文件的内容,具体用法如下: with open(‘file.txt’, ‘r’) as f: content = f.read() print(content) 示例中,我们打开一个名为 file.txt 的文件并以只读模式打开,…

    云计算 2023年5月18日
    00
  • 如何成为一名云计算工程师

    云时代的到来,百度,阿里、腾讯借助其产业优势以云计算为核心技术发展在行业中占尽先机。对于云计算技术人才也是高薪诚聘,奈何应聘者寥寥无几。不是薪资不诱人,而是很多人都没有相应的技术去应聘。要想成为一名云计算工程师,IT专业人员首先应该掌握云计算主要领域的技能。 首先从掌握基本概念开始,然后通过掌握完全面向云计算的特定供应商的平台或技术等重要领域来增强其专业知识…

    云计算 2023年4月11日
    00
  • asp.core 同时兼容JWT身份验证和Cookies 身份验证两种模式(示例详解)

    下面是关于“ASP.NET Core同时兼容JWT身份验证和Cookies身份验证两种模式”的完整攻略,包含两个示例说明。 简介 在ASP.NET Core应用程序中,我们可以使用JWT身份验证和Cookies身份验证两种模式来保护应用程序的资源。本文将详细讲解如何在ASP.NET Core应用程序中同时兼容JWT身份验证和Cookies身份验证两种模式。 …

    云计算 2023年5月16日
    00
  • 爱奇艺签约网心科技 成为星域云首批企业用户

    爱奇艺签约网心科技 成为星域云首批企业用户 近日,爱奇艺签约网心科技,成为星域云首批企业用户。这是爱奇艺在云计算领域的又一次重要布局。下面是一份关于爱奇艺签约网心科技成为星域云首批企业用户的完整攻略,包括背景介绍、签约过程、示例说明等。 1. 背景介绍 爱奇艺是中国领先的在线视频平台,拥有海量的正版高清视频资源,覆盖电影、电视剧、综艺、动漫等多个领域。网心科…

    云计算 2023年5月16日
    00
  • 在CentOS下安装和配置分布式系统Ceph的教程

    以下为在CentOS下安装和配置分布式系统Ceph的完整攻略: 1. 安装 Ceph 1.1 添加 Ceph 的软件源 在 $sudo 权限下,执行以下命令: cd /etc/yum.repos.d/ sudo wget -O ceph.repo https://download.ceph.com/rpm-jewel/el7/ceph.repo 1.2 安装…

    云计算 2023年5月17日
    00
  • 利用百度云流式计算进行大规模设备监控

    该案例基于百度云和百度天工的物联网技术,介绍一个通过一个流式计算的任务,监控众多在线设备的方法,仅供参考。 百度云流式计算的介绍可以参考:https://cloud.baidu.com/forum/topic/show?topicId=262273 背景 某烟草客户拥有1000多个烤烟房,每个烤烟房通过一个物解析网关,每分钟采集一次烤烟房的温度、湿度等数据,…

    云计算 2023年4月12日
    00
  • 终于有人把云计算、大数据和人工智能讲明白了!

    此文已由作者刘超授权网易云社区发布。转载地址:https://sq.163yun.com/blog/article/217814081753378816   今天跟大家讲讲云计算、大数据和人工智能。为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算…

    云计算 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部