Python
容器資料型態
dict
创建

创建一个 Python 字典:解释和示例

在这篇文章中,你将学习创建 Python 字典的不同方法。

它将涵盖以下内容

  • 从 list 或 tuple 到字典
  • 使用 for 循环创建字典
  • 创建嵌套字典
  • 使用字典创建字典和电话簿
  • 从字典到数据帧

1. 在一般情况下创建字典

Python 中的字典是一种集合,其元素由键和值配对。 字典是可变的,不能用作索引,但可以使用键来引用值。 另外,键在字典中必须是唯一的。

💡

有关与其他集合类型的一目了然的比较,请参阅 this post

创建字典的基本方法是使用大括号{},键和值之间用冒号:连接。

下面是如何创建一个空字典和一个包含值的字典。

empty_dict_1 = {}
empty_dict_2 = dict()
 
my_dict = {"apple": 1, "banana": 2, "cherry": 3}

在上面的代码中,"apple""banana""cherry"代表键,123代表每个键对应的值。

2. 从列表创建字典

将列表转换为字典非常简单。你可以使用zip()dict()函数将一个包含键和值的列表转换成一个字典。

zip()函数将keys列表和values列表连接成一个元组,dict()函数将这个元组转换成一个字典。 这样就创建了一个结合两个列表的新字典。

keys = ["apple", "banana", "cherry"]
values = [1, 2, 3]
 
my_dict = dict(zip(keys, values))

3. 从元组创建字典

像列表一样,元组可以很容易地转换成字典。 要创建字典,元组的第一个元素是键,第二个元素是值。

当您对元组应用dict()函数时,每个元组都会转换为字典中的键值对,如下所示4。

tuples = (("apple", 1), ("banana", 2), ("cherry", 3))
 
my_dict = dict(tuples)

4. 使用for循环创建字典

通过字典理解,你可以使用 for循环动态创建一个字典。

例如,我们创建一个字典,其键是数字1到5,其值是这些数字的平方。

squares = {i: i**2 for i in range(1, 6)}

5. 创建嵌套字典(字典中的字典)

您也可以在一个字典中放置另一个字典(嵌套字典)。这样您就可以分层结构化您的数据。

在下面的示例中,嵌套字典中的 fruitvegetable是父字典的键,与这些键对应的每个值是另一个字典。

nested_dict = {
    "fruit": {"apple": 1, "banana": 2},
    "vegetable": {"carrot": 3, "pepper": 4}
}

6. 用词典创建英汉词典

字典也可以像真正的字典一样使用。这里我们将创建一个简单的英汉词典。

dictionary = {
    "apple": "苹果",
    "banana": "香蕉",
    "cherry": "樱桃"
}

在此代码中,英文单词用作键,单词的中文翻译用作值。

7. 使用字典创建电话簿

您也可以使用字典创建一个简单的电话簿。您可以使用人名作为键,电话号码作为值。

phonebook = {
    "John": "010-1234-5678",
    "Jane": "010-9876-5432",
    "Mike": "010-1357-2468"
}

8. 使用字典创建数据帧

数据帧是Pandas库提供的二维表格数据结构。 它有多列,每一列可以有不同类型的值(int、float、str等)。

字典可以轻松创建数据帧。

import pandas as pd
 
data = {
    "Name": ["John", "Anna", "Peter"],
    "Age": [28, 24, 33],
    "City": ["New York", "Paris", "Berlin"]
}
 
df = pd.DataFrame(data)
 
# Output
    Name  Age      City
0   John   28  New York
1   Anna   24     Paris
2  Peter   33    Berlin

在这段代码中,每个键是数据帧中的列名,与该键相关的列表是该列的值。

如果打印数据框,可以看到列名("Name", "Age", "City" )及其对应的值。

结论

在 Python 中,字典是非常有用的数据结构。 它们使得存储、检索和操作数据变得容易。

我们希望这篇文章中创建 Python 字典的不同方法能够对你的实际开发有所帮助。

copyright for 创建一个 Python 字典:解释和示例

© 2023 All rights reserved.