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 pillow模块使用方法详解

    Python Pillow模块使用方法详解 Pillow是Python中一个强大的图像处理模块,可以方便地进行图像处理、图像格式转换、图像增强等操作。本文将详细讲解Pillow模块的使用方法,包括图像读取、图像保存、图像缩放、图像裁剪、图像旋转、图像滤镜等操作。 安装Pillow模块 在使用Pillow模块之前,我们需要先安装Pillow模块。可以使用pip…

    python 2023年5月15日
    00
  • Python+Selenium+Webdriver实现自动执行微软奖励积分脚本

    让我来详细讲解Python+Selenium+Webdriver实现自动执行微软奖励积分脚本的完整攻略。 什么是Python+Selenium+Webdriver? Python是一种流行的编程语言,而Selenium则是自动化测试领域的一种工具,可以模拟人类通过Web浏览器执行各种操作以进行自动化测试,而Webdriver是使用Selenium进行浏览器自…

    python 2023年5月19日
    00
  • MySQL binlog中的事件类型详解

    MySQL binlog中的事件类型详解 简介 MySQL BINLOG是MySQL数据库的事务日志,用于记录数据库中所有修改数据的SQL语句。它的主要作用是在主从数据库同步时,将主库上的事务日志传输到从库,从而实现数据库的高可用性和异地容灾。备份和数据恢复也依赖于 BINLOG。 BINLOG 是由一系列的事件(Event)构成,每个 Event 记录了M…

    python 2023年6月13日
    00
  • Python实现深度遍历和广度遍历的方法

    下面是详细讲解“Python实现深度遍历和广度遍历的方法”的完整攻略。 1. 什么是深度遍历和广度遍历? 深度遍历和广度遍历是图遍历中两种常用的方法。深遍是指从某个节点开始,沿着一条路径一直走到底,直到不能再走为止,然后回溯到上一个节点,走其他路径,直到遍历完整个图。广度遍历是指从某个节点开始,先遍该节点的所有邻居节点,然后历邻居节点的邻居节点,直到遍历完整…

    python 2023年5月14日
    00
  • 聊聊python中的异常嵌套

    当我们在编写 Python 程序时,总是存在一定的风险导致程序出现错误,比如读写文件失败,或者函数传参错误等。此时,Python 提供了异常机制来处理这些错误。在某些情况下,我们可能会遇到多个异常嵌套的情况,也就是说,程序由于某个异常导致了另一个异常发生,这就需要我们嵌套处理异常。下面我来给大家分享一些处理 Python 中异常嵌套的技巧。 1.异常嵌套的基…

    python 2023年5月13日
    00
  • MacOS安装python报错”zsh: command not found:python”的解决方法

    在MacOS系统中,有时候我们会在终端中输入python命令时出现“zsh: command not found: python”的错误。这通常是由于Python未正确安装或未正确配置环境变量起的。本攻略将提供解决此问题的完整攻略,并提供两个示例。 解决方法 以下是解决“z: command not found: python”错误的方法: 检查Python…

    python 2023年5月13日
    00
  • 如何进行Python代码的调试?

    调试是程序开发中最基本的操作之一,也是非常重要的一环。Python作为一种高级编程语言,具备强大的调试功能,可以帮助我们快速地定位bug并修复它们。代码调试可以使用Python内置的pdb调试器或者第三方工具,如PyCharm和VS Code。 下面是一个详细的调试攻略,以及两个示例说明。 调试步骤 确认需要调试的代码文件。 导入pdb模块,并设置断点。 执…

    python 2023年4月19日
    00
  • python操作redis方法总结

    Python 操作 Redis 方法总结 Redis 简介 Redis 是一个开源的、高性能的 key-value 数据库,支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。Redis 的特点是数据存放在内存中,读写速度非常快,同时支持持久化。 Redis 的 Python 客户端非常丰富,包括 Redis-py、Redis-py-cluster、…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部