Python 字典基础知识的令人耳目一新的回顾
在之前的教程中,我讨论了 Python 中一种非常通用且灵活的对象类型,即列表。在本文中,我将继续复习另一种灵活的 Python 对象类型,称为字典(也称为关联数组或哈希)。与列表一样,字典是一个需要掌握的重要概念,以便在您的 Python 之旅中继续前进。
什么是字典?
如果您阅读过列表文章,就会很容易理解字典的概念。它们非常类似于列表,但有两个主要区别:
字典中的每个键都有一个值,它可以是任何 Python 对象类型。也就是说,字典可以被视为键值对。但是,请注意键不能是List或Dictionary类型。
让我们创建一个英法词典
正如我们在上一节中看到的,字典只是一组无序的键值对。让我们使用这个概念来创建我们的第一个示例:英语-法语词典。该词典可以按如下方式创建:
english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}
字典 english_french
包含五个英语单词,设置为键,其法语含义设置为值。
假设我们想知道如何用法语说 pen
。我们只需执行以下操作:
english_french['pen']
您将在其中获得 stylo
作为返回值。
让事情变得更有趣
假设我们有一个 french_spanish
词典,其单词与 english_french
词典中的单词相同,如下所示:
french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}
好吧,有人问您如何用西班牙语说 door
,而您手头没有英语-西班牙语词典!但是,不用担心,有一个解决方案。查阅您的 english_french
词典中的单词,然后使用结果查阅 french_spanish
词典。明白了吗?让我们看看如何在 Python 中做到这一点:
french_spanish[english_french['door']]
结果应该是 puerta
。这不是很好吗?尽管您没有英语-西班牙语词典,但您刚刚得到了西班牙语中的 door
一词。
更多字典操作
在前面的示例中,我们了解了如何创建字典并访问字典中的项目。让我们看看可以对字典进行更多操作。我将在下面的示例中使用 english_french
字典。
字典中有多少条目?
换句话来说,这个操作的目的是返回Dictionary中键值对的数量。这可以使用 len()
运算符来执行,如下所示:
len(english_french)
您应该返回 5
。
删除键
字典中项目的删除是通过键进行的。例如,假设我们想从字典中删除单词(键) door
。这可以简单地完成如下:
del english_french['door']
这将删除键 door
及其值porte
。
字典中是否存在该键?
在上一小节中,我们从字典中删除了键 door
。如果我们想检查 door
是否仍然存在于字典中,我们输入:
english_french
中的“门”
应该返回 False
。
因此,您认为以下语句会返回什么?继续尝试一下(注意 not
)。
'door' 不在 english_french
如果我们尝试访问字典中不存在的键会发生什么?说 english_french['door']
。在这种情况下,您将收到类似于以下内容的错误:
回溯(最近一次调用最后):
文件“dictionary.py”,第 7 行,位于