Python - 字典

大家好,有抱负的程序员们!今天,我们将深入探讨Python字典的迷人世界。作为你们友好的计算机科学老师,我很激动能引导你们完成这次学习之旅。所以,拿上你最喜欢的饮料,舒服地坐好,让我们一起开始这次冒险吧!

Python - Dictionaries

Python中的字典

想象一下,你正在创建一个数字地址簿。你想存储有关你朋友的信息,比如他们的名字、电话号码和电子邮件地址。你会怎么做呢?这时候Python字典就派上用场了!

Python中的字典就像现实世界中的字典,但不是存储单词定义,而是存储键值对。它是一个无序的、可变的集合,并且不允许重复。

字典的主要特性

  1. 键值对:字典中的每个项目都由一个键及其对应的值组成。
  2. 无序:与列表不同,字典没有特定的顺序。
  3. 可变:可以在创建字典后添加、删除或修改项目。
  4. 无重复:字典中的每个键必须是唯一的。

创建字典

让我们从创建第一个字典开始:

my_friend = {
"name": "Alice",
"age": 25,
"city": "New York"
}

在这个例子中,我们创建了一个名为my_friend的字典。键是"name"、"age"和"city",它们对应的值分别是"Alice"、25和"New York"。

你也可以创建一个空字典,稍后再添加项目:

empty_dict = {}
another_dict = dict()  # 使用dict()构造函数

访问字典项目

要访问字典中的项目,你使用方括号中的键名:

print(my_friend["name"])  # 输出: Alice

你也可以使用get()方法,它更安全,因为如果键不存在,它将返回None(而不是引发错误):

print(my_friend.get("age"))  # 输出: 25
print(my_friend.get("job"))  # 输出: None

修改字典项目

字典是可变的,这意味着我们可以在创建后改变它们的内容:

# 更改一个值
my_friend["age"] = 26

# 添加一个新的键值对
my_friend["job"] = "Engineer"

print(my_friend)
# 输出: {'name': 'Alice', 'age': 26, 'city': 'New York', 'job': 'Engineer'}

删除字典项目

有多种方法可以从字典中删除项目:

# 删除一个指定的项目
del my_friend["age"]

# 删除并返回一个项目
job = my_friend.pop("job")

# 删除最后一个插入的项目
last_item = my_friend.popitem()

print(my_friend)  # 输出: {'name': 'Alice'}

遍历字典

你可以用几种方式循环遍历字典:

# 遍历键
for key in my_friend:
print(key)

# 遍历值
for value in my_friend.values():
print(value)

# 遍历键和值
for key, value in my_friend.items():
print(f"{key}: {value}")

字典键的属性

字典键有一些重要的属性:

  1. 键必须是不可变的(如字符串、数字或元组)。
  2. 键在字典中必须是唯一的。

例如:

valid_dict = {
"string_key": "value1",
42: "value2",
(1, 2): "value3"
}

# 这会引发错误:
# invalid_dict = {[1, 2]: "value"}  # 列表不能作为键

Python字典运算符

Python为字典提供了一些有用的运算符:

# 合并字典(Python 3.5+)
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
merged = {**dict1, **dict2}
print(merged)  # 输出: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

# 检查一个键是否存在
if "name" in my_friend:
print("字典中存在键'name'")

Python字典方法

以下是常用字典方法的表格:

方法 描述
clear() 删除字典中的所有项目
copy() 返回字典的浅拷贝
fromkeys() 使用指定的键和值创建新的字典
get() 返回指定键的值
items() 返回字典的(键, 值)元组对列表
keys() 返回字典的键列表
pop() 删除并返回具有给定键的元素
popitem() 删除并返回最后插入的键值对
setdefault() 返回指定键的值。如果键不存在:插入键,并指定值
update() 使用指定的键值对更新字典
values() 返回字典中所有值的列表

字典的内建函数

Python提供了几个与字典一起使用的内建函数:

# 字典的长度
print(len(my_friend))

# 字典的类型
print(type(my_friend))

# 将其他数据类型转换为字典
list_of_tuples = [("a", 1), ("b", 2)]
dict_from_list = dict(list_of_tuples)
print(dict_from_list)  # 输出: {'a': 1, 'b': 2}

就是这些了,各位!我们已经穿越了Python字典的领域,从创建到操作,从迭代到内建函数。记住,熟能生巧,所以不要害怕在你们自己的代码中尝试这些概念。

在我们结束之前,让我分享一个小笑话:为什么Python程序员喜欢使用字典?因为他们总是知道自己的键在哪里!?

继续编码,保持好奇心,记住:在编程的世界里,每一个错误都是一个新的学习机会。下次见,编码快乐!

Credits: Image by storyset