目录
什么是字典?
让我们创建一个英法词典
让事情变得更有趣
创建字典的副本
嵌套字典
迭代字典
创建字典的替代方法
首页 后端开发 Python教程 Python 字典基础知识的令人耳目一新的回顾

Python 字典基础知识的令人耳目一新的回顾

Sep 03, 2023 pm 08:09 PM

Python 字典基础知识的令人耳目一新的回顾

在之前的教程中,我讨论了 Python 中一种非常通用且灵活的对象类型,即列表。在本文中,我将继续复习另一种灵活的 Python 对象类型,称为字典(也称为关联数组或哈希)。与列表一样,字典是一个需要掌握的重要概念,以便在您的 Python 之旅中继续前进。

什么是字典?

如果您阅读过列表文章,就会很容易理解字典的概念。它们非常类似于列表,但有两个主要区别:

  1. 它们是无序集合(与有序列表不同)。
  2. 键用于访问项目而不是位置(索引)。

字典中的每个键都有一个值,它可以是任何 Python 对象类型。也就是说,字典可以被视为键值对。但是,请注意不能是List或Dictionary类型。

让我们创建一个英法词典

正如我们在上一节中看到的,字典只是一组无序的键值对。让我们使用这个概念来创建我们的第一个示例:英语-法语词典。该词典可以按如下方式创建:

english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}

字典 english_french 包含五个英语单词,设置为,其法语含义设置为

假设我们想知道如何用法语说 pen。我们只需执行以下操作:

english_french['pen']

您将在其中获得 stylo 作为返回值。

让事情变得更有趣

假设我们有一个 french_spanish 词典,其单词与 french_spanish 词典,其单词与 english_french 词典中的单词相同,如下所示:

french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}

好吧,有人问您如何用西班牙语说 door,而您手头没有英语-西班牙语词典!但是,不用担心,有一个解决方案。查阅您的 english_french 词典中的单词,然后使用结果查阅 french_spanish,而您手头没有英语-西班牙语词典!但是,不用担心,有一个解决方案。查阅您的

词典中的单词,然后使用结果查阅 french_spanish 词典。明白了吗?让我们看看如何在 Python 中做到这一点:

french_spanish[english_french['door']]

puerta。这不是很好吗?尽管您没有英语-西班牙语词典,但您刚刚得到了西班牙语中的 door结果应该是

一词。

更多字典操作

english_french在前面的示例中,我们了解了如何创建字典并访问字典中的项目。让我们看看可以对字典进行更多操作。我将在下面的示例中使用

字典。

字典中有多少条目?

len()换句话来说,这个操作的目的是返回Dictionary中键值对的数量。这可以使用

运算符来执行,如下所示:

len(english_french)

5您应该返回

删除键

字典中项目的删除是通过door进行的。例如,假设我们想从字典中删除单词(键)

。这可以简单地完成如下:

del english_french['door']

这将删除door 及其porte

及其

porte

字典中是否存在该键? door。如果我们想检查 door在上一小节中,我们从字典中删除了

english_french。如果我们想检查

是否仍然存在于字典中,我们输入:

False

中的“门”

not应该返回

'door' 不在 english_french因此,您认为以下语句会返回什么?继续尝试一下(注意

)。

english_french['door']

如果我们尝试访问字典中不存在的

回溯(最近一次调用最后):会发生什么?说

。在这种情况下,您将收到类似于以下内容的错误:

文件“dictionary.py”,第 7 行,位于 <module></module>

打印 english_french['door'] 

KeyError: 'door'   

🎜🎜🎜🎜

创建字典的副本

您可能需要 english_french 词典的副本,并将其分配给另一个词典。这可以使用 copy() 函数简单地完成,如下所示:

new_english_french = english_french.copy()

嵌套字典

正如我们上面提到的,字典中的值可以是任何类型,包括字典。这称为嵌套。示例如下:

学生 = {'ID':{'name':'Abder-Rahman', 'number':'1234'}}

因此,如果您输入 student['ID'],您应该得到:

{'name': 'Abder-Rahman', 'number': '1234'} 

迭代字典

让我们回到 english_french 字典。您可以通过多种方式迭代字典的项目:

english_french 中的单词:

    打印单词

该语句的结果如下:

car

pen

paper

door

table 

请注意,结果中的的顺序与 english_french 字典中的顺序不同。您现在可以明白为什么我说字典被视为无序集合了。

迭代的另一种方法如下:

对于 english_french.iterkeys() 中的单词:

    打印单词

请注意,我们使用了 iterkeys() 函数。类似的可用于迭代值的函数,即 itervalues(),如下所示:

用于 english_french.itervalues() 中的含义:

    打印含义

本例中的结果应如下所示:

voiture

stylo

papier

porte

table

创建字典的替代方法

还有其他方法可以使用 dict 构造函数在 Python 中创建字典。使用 dict 创建相同词典 ID 的一些示例如下:

ID = dict(name = 'Abder-Rahman', number = 1234)

ID = dict([('name','Abder-Rahman'),('number',1234)])

ID = dict(zip(['name','number'],['Abder-Rahman',1234])) # 键和值作为列表

您可以使用词典做更多事情。查看 Python 文档以获取更多信息。

以上是Python 字典基础知识的令人耳目一新的回顾的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何解决Linux终端中查看Python版本时遇到的权限问题? 如何解决Linux终端中查看Python版本时遇到的权限问题? Apr 01, 2025 pm 05:09 PM

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

我如何使用美丽的汤来解析HTML? 我如何使用美丽的汤来解析HTML? Mar 10, 2025 pm 06:54 PM

本文解释了如何使用美丽的汤库来解析html。 它详细介绍了常见方法,例如find(),find_all(),select()和get_text(),以用于数据提取,处理不同的HTML结构和错误以及替代方案(SEL)

如何使用TensorFlow或Pytorch进行深度学习? 如何使用TensorFlow或Pytorch进行深度学习? Mar 10, 2025 pm 06:52 PM

本文比较了Tensorflow和Pytorch的深度学习。 它详细介绍了所涉及的步骤:数据准备,模型构建,培训,评估和部署。 框架之间的关键差异,特别是关于计算刻度的

在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? 在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? Apr 01, 2025 pm 11:15 PM

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

如何使用Python创建命令行接口(CLI)? 如何使用Python创建命令行接口(CLI)? Mar 10, 2025 pm 06:48 PM

本文指导Python开发人员构建命令行界面(CLIS)。 它使用Typer,Click和ArgParse等库详细介绍,强调输入/输出处理,并促进用户友好的设计模式,以提高CLI可用性。

哪些流行的Python库及其用途? 哪些流行的Python库及其用途? Mar 21, 2025 pm 06:46 PM

本文讨论了诸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和请求等流行的Python库,并详细介绍了它们在科学计算,数据分析,可视化,机器学习,网络开发和H中的用途

解释Python中虚拟环境的目的。 解释Python中虚拟环境的目的。 Mar 19, 2025 pm 02:27 PM

文章讨论了虚拟环境在Python中的作用,重点是管理项目依赖性并避免冲突。它详细介绍了他们在改善项目管理和减少依赖问题方面的创建,激活和利益。

什么是正则表达式? 什么是正则表达式? Mar 20, 2025 pm 06:25 PM

正则表达式是在编程中进行模式匹配和文本操作的强大工具,从而提高了各种应用程序的文本处理效率。

See all articles