python 字典 setdefault()和get()方法比较详解

来和您详细讲解一下关于Python字典中setdefault()和get()方法的比较。

什么是字典

Python中的字典是一种可变容器模型,它存储的是键值对。字典的键必须是唯一的且不可更改,而值则可以是任何类型的对象。字典的常用操作包括增加/删除元素,查找元素等。

get()方法用法

字典类型的get()方法是获取指定键的值,如果指定键不存在,则返回默认值。get()方法的语法如下:

dict.get(key, default=None)

其中,key为字典键值,default为可选参数,表示指定键不存在时的默认值。如果没有指定,则默认为None。

下面是一个使用get()方法的示例:

>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> d.get('a')
1
>>> d.get('d')
None
>>> d.get('d', 4)
4

在这个实例中,字典d包含3个键值对。使用get()方法来获取d字典中的“a”键时会返回1,而获取不存在的“d”键时则会返回None。如果同时指定了default参数,则返回指定的默认值4。

setdefault()方法用法

字典类型的setdefault()方法是获取指定键的值,如果指定键不存在,则插入这个键值对。setdefault()方法的语法如下:

dict.setdefault(key, default=None)

其中,key为字典键值,default为可选参数,表示指定键不存在时的默认值。如果没有指定,则默认为None。setdefault()方法会先判断指定的键是否存在,如果存在,则返回对应的值,如果不存在,则插入这个键值对,并返回指定的默认值或None。

下面是一个使用setdefault()方法的示例:

>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> d.setdefault('a', 4)
1
>>> d.setdefault('d', 4)
4
>>> d
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

在这个实例中,字典d包含3个键值对。使用setdefault()方法来获取d字典中的“a”键时会返回1,因为“a”键已经存在。而获取不存在的“d”键时,则会插入这个键值对,并返回指定的默认值4。

setdefault()与get()方法比较

在使用setdefault()与get()方法时,需要注意以下几个方面的不同:

  • get()方法只是获取指定键的值,不会对字典做更改;setdefault()方法则会插入指定键值对。
  • get()方法只需要指定键名,而setdefault()方法需要指定键名和默认值。
  • 使用get()方法时,如果指定键不存在,则返回None,如果同时指定了默认值,则返回默认值。而使用setdefault()方法时,则会插入指定的键值对,并返回指定的默认值。
  • 当需要在字典插入指定键值对时,可以使用setdefault()方法,在只需要获取指定键值时,则可以使用get()方法。

下面是另一个更详细的示例:

>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> d.get('a', [])
1
>>> d.get('d', [])
[]
>>> d
{'a': 1, 'b': 2, 'c': 3}
>>> d.setdefault('a', [])
1
>>> d.setdefault('d', [])
[]
>>> d
{'a': 1, 'b': 2, 'c': 3, 'd': []}

在这个示例中,使用get()方法来获取指定键值时,如果指定键存在,则返回对应的值,否则返回默认值[]。使用setdefault()方法时,如果指定的键已经存在,则返回对应的值,否则插入对应的键值对,返回默认值[]。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 字典 setdefault()和get()方法比较详解 - Python技术站

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

相关文章

  • python通过文件头判断文件类型

    下面是Python通过文件头判断文件类型的完整实例教程。 1. 什么是文件头 文件头(File Header)指的是文件的开头几个字节,包含了文件的一些基本信息。不同类型的文件,在文件头中包含的信息不同,因此可以通过读取文件头来判断文件的类型。 2. 用Python判断文件类型的方法 Python中可以通过读取文件头来判断文件类型,具体方法如下: impor…

    python 2023年5月13日
    00
  • 详解Python 序列化结果

    Python 中的序列化是指将内存中的对象转换成可存储或可传输的数据格式。Python 中常用的序列化格式有两种:pickle 和 JSON。下面就分别从它们两个的用法、优缺点以及注意事项进行详细的讲解。 使用pickle进行序列化 pickle 是 Python 自带的序列化模块,它可以将 Python 对象序列化成一个二进制对象(也就是字符串),并可以将…

    python-answer 2023年3月25日
    00
  • 使用Python爬取小姐姐图片(beautifulsoup法)

    下面是使用Python爬取小姐姐图片的完整攻略,过程中包含两条示例说明。 1. 前置知识 在开始之前,我们需要了解一些基本知识: Python编程语言 爬虫的基本原理 Beautiful Soup库的基本用法 如果你对以上内容还不熟悉,可以先去了解一下相关知识。 2. 确定目标网站和页面 首先,我们需要确定一个目标网站和页面,这里我们选择的是一个美女图片网站…

    python 2023年5月14日
    00
  • 如何使用 python flask 将修改后的图像直接上传到 s3 存储桶

    【问题标题】:How do you upload modified image directly to s3 bucket using python flask如何使用 python flask 将修改后的图像直接上传到 s3 存储桶 【发布时间】:2023-04-03 21:22:01 【问题描述】: 我试图简单地修改通过表单上传的图像(调整大小),然后直…

    Python开发 2023年4月8日
    00
  • python升级pip及失败处理方式

    当我们在使用Python时,pip是一个非常重要的工具,用于安装和管理Python模块。但是,有时候我们会遇到pip版本过低或者安装失败的问题。本文将详细讲解Python级pip及失败处理方式的完整攻略,包括使用命令升级pip、手动安装pip、使用get-pip.py脚本等方法。 使用命令升级pip 在Linux或MacOS系统中,可以以下命令来升级pip:…

    python 2023年5月13日
    00
  • Python操作mysql数据库实现增删查改功能的方法

    Python操作MySQL数据库实现增删查改功能的方法 1. 安装Python的MySQL模块 在Python中操作MySQL需要使用到MySQL模块,可以使用pip来安装: pip install mysql-connector-python 2. 连接到MySQL数据库 连接到MySQL数据库需要使用到相应的参数,比如主机名、用户名、密码、数据库名等。可…

    python 2023年6月3日
    00
  • python中Pycharm 输出中文或打印中文乱码现象的解决办法

    下面是Python中Pycharm输出中文或打印中文乱码现象的解决办法,具体步骤如下: 问题描述 在编写Python代码时,经常需要输出中文,但是在使用Pycharm输出中文或打印中文时,有时会出现乱码现象。例如,我们使用print()函数输出中文字符串“你好”,结果在输出时却变成了“鏈€濂藉”。 解决办法 1. 修改文件编码格式 Pycharm的默认编码…

    python 2023年5月20日
    00
  • 详解Python PIL ImageDraw.Draw.arc()

    Python PIL库中的ImageDraw模块提供了很多用于绘制基本图形和在图像上绘制文本和线条等的函数,其中Draw.arc()函数用于在给定的矩形内绘制一个圆弧。下面是关于使用Draw.arc()函数的完整攻略。 函数格式 Draw.arc(xy, start, end, fill=None, width=0) 参数说明: xy:指定圆弧的外接矩形,格…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部