在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日

相关文章

  • 亚马逊云计算一季度营收77亿美元 全年有望超过300亿美元

    【TechWeb】4月26日消息,据国外媒体报道,贝佐斯创办的亚马逊靠书业电子商务起家,随后扩展到了更多的商品方面,现在其最为消费者所熟知的也是他们的电子商务。 亚马逊云计算一季度营收77亿美元 全年有望超过300亿美元 虽然亚马逊是很多人眼中的电商巨头,但其在云计算这一技术含量颇高的业务方面也实力强劲,云计算也是亚马逊利润的主要来源,其周四发布的一季度的财…

    云计算 2023年4月12日
    00
  • ASP.NET WebAPI导入CSV

    下面是ASP.NET WebAPI导入CSV的完整攻略,包含以下内容: 准备工作 创建ASP.NET WebAPI应用程序 导入CSV数据文件 编写CSV导入API接口 验证CSV导入API接口 示例说明 1. 准备工作 在开始本文的操作之前,您需要首先安装以下软件: Visual Studio 2017 或更高版本 ASP.NET WebAPI 和 Ent…

    云计算 2023年5月17日
    00
  • swagger添加权限验证保证API(接口)安全性(两种方法)

    Swagger是一个API文档化工具,它可以让我们更加方便地使用和管理接口文档。在API开发过程中,保证接口的安全性非常重要。下面将详细说明两种方法来添加权限验证,保证API的安全性。 方法一:使用Swagger-UI的ApiKeyAuth Swagger-UI提供了一个简单的ApiKey验证功能,而ApiKey是一个预共享的API密钥。在Swagger配置…

    云计算 2023年5月17日
    00
  • Python可以从事的工作/就业岗位总结

    Python是一门广泛应用于数据科学、机器学习、Web开发等领域的高级编程语言。因其简洁易懂、跨平台易用等优点,近年来越来越受到企业和公司的青睐。下面详细讲解Python可以从事的工作和就业岗位总结,以及如何进军这些领域。 Python相关的就业岗位 数据科学家 Python作为数据分析和数据科学的工具之一,让人们从各种数据中发现可以利用、且与业务相关的知识…

    云计算 2023年5月18日
    00
  • 华为云计算——FusionCompute单节点部署详细安装教程(一)CNA主机的安装

    1. 实验准备: (1)因为实验所需的CAN,VRM,操作系统IOS的压缩包比较大,需要提前将实验所需要的下载到本地电脑中。工程中需要在U盘中备份,用兼容性较高的电脑进行操作,例如ThinkPad。 安装包在华为官网上都有,位置官网->解决方案&服务->企业用户下的软件下载->按产品查找 云计算->FusionCompute。…

    云计算 2023年4月12日
    00
  • 4种VPS主机技术原理及优缺点(VPS独享主机技术原理)

    4种VPS主机技术原理及优缺点 1. OpenVZ 原理 OpenVZ是一种基于Linux操作系统的操作系统层虚拟化技术。在OpenVZ中,容器与宿主机共用同一个操作系统内核,相比其他虚拟化技术开销更小,容器启动速度更快。容器资源的分配是通过设置资源限制参数来完成的,因为容器实际上是宿主机上一个进程或者多个进程的集合,因此容器资源限制不会对整个宿主机产生影响…

    云计算 2023年5月17日
    00
  • web前端开发也需要日志

    简介 在Web前端开发中,日志记录是一项非常重要的工作。通过记录日志,我们可以更好地了解应用程序的运行情况,及时发现和解决问题。本文将详细讲解Web前端开发中为什么需要日志记录,以及如何使用JavaScript实现日志记录。 为什么需要日志记录 在Web前端开发中,日志记录有以下几个重要的作用: 问题排查:当应用程序出现问题时,日志记录可以帮助我们快速定位问…

    云计算 2023年5月16日
    00
  • 三分钟了解物联网、大数据和云计算

    三分钟了解物联网、大数据和云计算 身处信息快速发展的今天,物联网、大数据、云计算这些名词在我们的生活中出现的越来越频繁,看似高大上的三者其实却和我们的生活息息相关。小编带你来认识一下三者之间的关系吧! 大数据 大数据(bigdata),就是指种类多、流量大、容量大、价值高、处理和分析速度快的真实数据汇聚的产物。大数据或称巨量资料或海量数据资源,指的是所涉及的…

    2023年4月9日
    00
合作推广
合作推广
分享本页
返回顶部