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获取网段内ping通IP的方法

    下面是 “Python获取网段内ping通IP的方法” 的完整攻略。 一、背景说明 在进行网络相关的测试或操作时,我们有时需要获取当前局域网中哪些主机是可以ping通的,这在排查网络故障、寻找设备等情况下是非常有用的。而Python是一门功能强大的编程语言,可以方便地进行网络测试,下面我们来看一下如何使用Python获取指定网段内ping通的IP地址。 二、…

    python 2023年6月3日
    00
  • Python 字符串池化的前提

    Python 字符串池化是指在一定条件下,Python 解释器会自动缓存一些字符串实例,以减少内存使用。想要了解 Python 字符串池化的前提,需要了解字符串类的内部实现原理,以及池化机制产生的条件。 字符串类的内部实现原理 在 Python 内部,字符串是通过引用计数器来管理内存的。具体来说,假设有一个变量 a,当对于字符串 “hello” 执行 a =…

    python 2023年6月5日
    00
  • python打开windows应用程序的实例

    请看以下的详细讲解。 目录 为什么需要打开Windows应用程序的实例? 使用Python打开Windows应用程序的实例的方法 示例说明 1. 为什么需要打开Windows应用程序的实例? 在开发过程中,我们可能需要使用Python来打开某些Windows应用程序的实例,比如微软Office应用、浏览器等,这样可以帮助我们更快的完成工作。Python提供了…

    python 2023年5月31日
    00
  • python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)

    在Python中,可以使用json模块进行JSON数据格式的转换。json模块提供了dumps()和loads()方法,用于将Python对象转换为JSON字符串和将JSON字符串转换为Python对象。此外,还可以使用dicttostr()和strtodict()方法,用于将字典转换为JSON字符串和将JSON字符串转换为字典。以下是详细的攻略,介绍Pyt…

    python 2023年5月14日
    00
  • Python实现数据清洗的示例详解

    Python实现数据清洗的示例详解 数据清洗是数据分析中必不可少的一环,Python作为一门流行的数据分析语言,提供了许多数据清洗的工具和库,比如pandas等。本文将介绍如何使用Python进行数据清洗,并结合示例进行详细讲解。 准备数据 首先我们需要准备一些需要清洗的数据,这里我们以一个包含错误数据的csv文件为例。 假设我们有一个students.cs…

    python 2023年6月3日
    00
  • python实现自动打卡的示例代码

    下面是详细讲解“Python实现自动打卡的示例代码”的攻略。 一、背景介绍 疫情期间,为了保证自身健康及他人安全,很多地方要求养成每日打卡习惯。但是每日打卡耗费时间,需要手动操作,非常麻烦。那我们可以使用Python编写自动化程序来解决这个问题。 二、程序实现步骤 1. 网站分析 首先我们需要打开要打卡的网站,分析打卡的流程和数据提交的方式。以某高校的在线办…

    python 2023年5月19日
    00
  • Python使用matplotlib绘制多个图形单独显示的方法示例

    下面我为您详细讲解一下“Python使用Matplotlib绘制多个图形单独显示的方法示例”的完整攻略。 简介 在Python中,Matplotlib是一个非常强大的数据可视化库,可以用于绘制各种类型的图表,包括折线图、条形图、散点图等。有时候,我们需要在一张图表中绘制多个子图,或者需要将多张图表单独显示出来,本文就为您介绍一下在Python中,如何使用Ma…

    python 2023年5月19日
    00
  • Python 将字符串转换为代码的函数(eval和exec)详解

    在Python中,有两个内置函数,可以把一堆字符串类型的代码,转换为Python解释器能够执行的代码。这两个函数就是:eval()和exec()。 它们的作用与区别如下: eval()函数:将字符串转换为Python表达式并计算返回结果。也就是说,它一般用于计算并返回单个表达式的值,并返回执行结果。 exec()函数:用于动态执行Python代码。也就是说,…

    2023年2月21日
    00

发表回复

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

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