Python dict字典详解

Python 中的字典是一种可变的、无序的数据类型,用于存储键值对(key-value)的数据结构。字典的特点在于可以快速的查找和修改键值对的值,是一种非常灵活、方便的数据结构。

字典类型是 Python 中唯一的映射类型。“映射”是数学中的术语,简单理解,它指的是元素之间相互对应的关系,即通过一个元素,可以唯一找到另一个元素。

字典类型所具有的主要特征如下表所示:

主要特征 解释
通过键而不是通过索引来读取元素 字典类型有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。
字典是任意数据类型的无序集合 和列表、元组不同,通常会将索引值 0 对应的元素称为第一个元素,而字典中的元素是无序的。
字典是可变的,并且可以任意嵌套 字典可以在原处增长或者缩短(无需生成一个副本),并且它支持任意深度的嵌套,即字典存储的值也可以是列表或其它的字典。
字典中的键必须唯一 字典中,不支持同一个键出现多次,否则只会保留最后一个键值对。
字典中的键必须不可变 字典中每个键值对的键是不可变的,只能使用数字、字符串或者元组,不能使用列表。

Python 创建字典

1.使用字典字面量

在Python中,字典字面量的语法为{key1: value1, key2: value2, ……, keyn: valuen}。语法如下:
dict = {key1: value1, key2: value2, ……, keyn: valuen} .

例如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}

2:dict()函数

除了字典字面量,我们还可以使用dict()函数创建字典,语法如下:

dict(key1=value1, key2=value2, ……, keyn=valuen)

例如:

>>> dict = dict(Name='Tom', Age=18, Country='USA')
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}

Python 访问字典元素

Python中访问字典元素的方法,主要有以下几种:

1:使用字典的键访问元素

在Python中,可以使用字典的键来访问字典的元素,语法如下:

dict[key]

比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict['Name'])
Tom
>>> print(dict['Age'])
18

2:使用get()方法访问字典元素

另外一种访问字典元素的方法是使用get()方法,语法如下:

dict.get(key, default)

其中,key为要查找的键,default为指定的默认值,如果字典中不存在该键,则返回default。比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict.get('Name'))
Tom
>>> print(dict.get('Gender', 'Not Found'))
Not Found

Python 删除字典元素

在Python中,有多种删除字典元素的方法,主要有如下几种:

1:使用del语句删除

可以使用del语句删除字典中的元素,语法为:del dict[key]

比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> del dict['Name']
>>> print(dict)
{'Age': 18, 'Country': 'USA'}

2:使用pop()方法删除

还可以使用pop()方法删除字典中的元素,语法如下:

dict.pop(key, default)

其中,key为要删除的键,default为指定的默认值,如果字典中不存在该键,则返回default。比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict.pop('Name'))
Tom
>>> print(dict)
{'Age': 18, 'Country': 'USA'}

3:使用clear()方法清空字典

可以使用clear()方法清空字典,语法为:dict.clear()

举例如下:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> dict.clear()
>>> print(dict)
{}

Python 操作字典的内置方法

另外在Python中,还有很多字典的内置方法,可以方便的操作字典。

下面是一些常见的字典内置方法:

  • clear():用于删除字典内所有元素。
  • copy():用于复制一个字典。
  • fromkeys(seq[, v]):用于创建一个新字典,以 seq 中元素做字典的键,v 为字典所有键对应的初始值。
  • get(key, default=None):返回指定键的值,如果值不在字典中返回 default 值。
  • items():以列表返回可遍历的(键,值)元组数组。
  • keys():返回字典所有的键。
  • pop(key[, default]):删除字典给定键 key 所对应的值,返回值为被删除的值。如果 key 不存在,返回 default 值。
  • popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。
  • setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default。
  • update([other]):把字典参数 other 的 key-value(键-值) 对更新到字典中。
  • values():返回字典中的所有值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python dict字典详解 - Python技术站

(0)
上一篇 2023年2月14日 下午8:58
下一篇 2023年2月14日 下午10:17

相关文章

  • Python timeit模块原理及使用方法

    Python timeit模块原理及使用方法 简介 timeit是Python中用于衡量代码执行时间的标准库。它允许我们在执行代码的时候对其进行计时,并返回运行时间信息。 使用方法 在代码中使用timeit一般需要以下三步: 导入timeit模块 import timeit 创建timeit.Timer对象 timer = timeit.Timer(stmt…

    python 2023年6月3日
    00
  • 没有名为 ___ 的模块。如何将 Sublime Text3 链接到 python 3 中的虚拟环境?

    【问题标题】:No module named ___. How to link Sublime Text3 to a virtual env in python 3?没有名为 ___ 的模块。如何将 Sublime Text3 链接到 python 3 中的虚拟环境? 【发布时间】:2023-04-01 06:15:01 【问题描述】: 我想我的崇高文本 3…

    Python开发 2023年4月8日
    00
  • Python实现农历转换教程详解

    Python实现农历转换教程详解 介绍 中国农历是一种十分特殊的时间计量方式,相比于阳历,它更加符合农事生产和中国传统文化。Python作为一门十分强大的编程语言,在处理日期时间问题上也能够游刃有余。在本篇教程中,我们将会学习如何使用Python实现农历转换,将阳历转换为农历。 实现过程 首先我们需要安装一个叫做lunardate的Python库,它是一个P…

    python 2023年6月2日
    00
  • 浅谈Python 列表字典赋值的陷阱

    浅谈Python列表、字典赋值的陷阱 在Python中,列表和字典是最为常见的两种数据结构。而在对这两种数据结构进行赋值操作时,需要注意一些坑点,下面将详细讲解这些陷阱。 赋值操作会对原变量产生影响 当将一个列表或字典赋值给另一个变量时,如果原变量改变,新变量也会跟着改变。示例如下: >>> a = [1, 2, 3] >>&g…

    python 2023年5月13日
    00
  • Python实战实现爬取天气数据并完成可视化分析详解

    Python实战实现爬取天气数据并完成可视化分析详解 在本攻略中,我们将介绍如何使用Python爬取天气数据,并使用Python的数据可视化库Matplotlib和Seaborn完成可视化分析。我们将提供两个示例,用于说明如何使用Python爬取天气数据和完成可视化分析。 步骤1:获取天气数据 在使用Python爬取天气数据之前,我们需要获取天气数据的URL…

    python 2023年5月15日
    00
  • 详解Python 函数参数的拆解

    下面我将为你详细讲解“详解Python函数参数的拆解”的完整攻略。 一、函数参数解包 Python中,函数的参数传递方式支持两种:位置/关键字参数和可变参数列表。同时,Python也支持将一个序列或映射对象解包为不同的参数调用函数。这被称为“参数拆解”。 1.1 位置参数拆解 位置参数拆解的语法非常简单,即用 * 运算符对元组或列表进行拆解。这样可以将元组或…

    python 2023年5月14日
    00
  • python程序输出无内容的解决方式

    当我们在Python编程过程中,运行程序时可能会出现输出无内容的情况。这种情况通常是由于程序中没有正确的输出语句或输出语句被注释掉了。以下是解决Python程序输出无内容完整攻略: 1. 检查输出语句 在Python编程过程中,我们需要使用print语句来输出内容。如果我们的程序没有正确的print语句,则程序将不会输出任何内容。我们可以使用以下代码来输出内…

    python 2023年5月13日
    00
  • python批量赋值操作实例

    下面我来详细讲解”python批量赋值操作实例”的完整流程。首先,我们需要了解什么是批量赋值操作。 批量赋值操作指的是一次性为多个变量赋值,可以简洁高效地写出代码。在Python中,我们可以通过元组、列表、字典等多种方式实现批量赋值操作。 元组方式实现批量赋值 a, b = 1, 2 print(a) # 输出1 print(b) # 输出2 以上代码中,采…

    python 2023年6月6日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

合作推广
合作推广
分享本页
返回顶部