创建一个 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"
代表键,1
,2
和3
代表每个键对应的值。
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. 创建嵌套字典(字典中的字典)
您也可以在一个字典中放置另一个字典(嵌套字典)。这样您就可以分层结构化您的数据。
在下面的示例中,嵌套字典中的 fruit
和 vegetable
是父字典的键,与这些键对应的每个值是另一个字典。
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 字典的不同方法能够对你的实际开发有所帮助。
