跳至主要内容

Python 字典教程

了解如何在 Python 中创建字典。
· 3分钟 阅读

使用 AI 探索

Dictionary(字典)是 Python 内置的可变数据结构。它在理念上与 List、Set 和 Tuples 类似。然而,它不是通过一系列数字进行索引,而是基于键(key)进行索引,可以理解为关联数组。从抽象层面看,它由与之关联的值(value)的键组成。在 Python 中,字典是哈希表(hash-table)的一种实现。

什么是键?

如下图所示,键是不可变(即不能更改)的数据类型,可以是字符串或数字。但是,键不能是可变数据类型,例如列表。键在字典中必须唯一,不能重复。如果同一键被使用多次,后面的条目会覆盖之前的值。

keys

键与值相连接,从而形成类似映射的结构。比如,如果将图中的键去掉,剩下的只是一个包含数字序列的数据结构。因此,字典在每个位置都保存一个键: 值对。

字典用一对花括号 {} 表示,内部由逗号分隔的键: 值对构成。

创建字典

语法

作为复习,下面是创建字典的示例:

my_dict = {
  "key1":"value1",
  "key2":"value2"
}

在上述语法中,键和值都是字符串。

创建字典示例

pop = [30.55, 2.77, 39.21]

countries = ["afghanistan", "albania", "algeria"]

让我们把人口数据转换为字典。要创建字典,您将使用花括号。接着,在括号内写上一组键:值对。在这个例子中,键是国家名称,值是对应的人口。

第一个键是 Afghanistan,其对应的值是 30.55。注意用冒号分隔键和值。对另外两个键:值对也做同样的操作,并将结果存入变量 world。

现在,要查找 Albania 的人口,只需输入 world,然后在方括号中输入字符串 Albania。换句话说,您在方括号中传入键,并得到对应的值。

world = {"afghanistan":30.55, "albania":2.77, "algeria":39.21}

world["albania"]
2.77

这种方法不仅直观,而且非常高效,因为即使对于非常大的字典,Python 也能非常快速地查找这些键。

创建字典的交互式示例

在下面的示例中,您将使用 countries 和 capitals 中的字符串,创建一个包含 4 个键:值对的字典 europe。这里 countries 是键,capitals 是值。注意大小写!请确保全部使用小写字符。最后,打印 europe,查看结果是否符合预期。

# Definition of countries and capital
countries = ['spain', 'france', 'germany', 'norway']
capitals = ['madrid', 'paris', 'berlin', 'oslo']

# From string in countries and capitals, create dictionary europe
europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin', 'norway':'oslo'}

# Print europe
print(europe)

运行上述代码,将得到以下结果:

{'norway': 'oslo', 'germany': 'berlin', 'france': 'paris', 'spain': 'madrid'}

亲自试一试。

要进一步了解 Python 中的字典,请观看我们课程 Intermediate Python 的这段视频。

本文内容摘自 DataCamp 的 Intermediate Python 课程,作者 Hugo Bowne-Anderson。

主题