Python - 字典
大家好,有抱负的程序员们!今天,我们将深入探讨Python字典的迷人世界。作为你们友好的计算机科学老师,我很激动能引导你们完成这次学习之旅。所以,拿上你最喜欢的饮料,舒服地坐好,让我们一起开始这次冒险吧!
Python中的字典
想象一下,你正在创建一个数字地址簿。你想存储有关你朋友的信息,比如他们的名字、电话号码和电子邮件地址。你会怎么做呢?这时候Python字典就派上用场了!
Python中的字典就像现实世界中的字典,但不是存储单词定义,而是存储键值对。它是一个无序的、可变的集合,并且不允许重复。
字典的主要特性
- 键值对:字典中的每个项目都由一个键及其对应的值组成。
- 无序:与列表不同,字典没有特定的顺序。
- 可变:可以在创建字典后添加、删除或修改项目。
- 无重复:字典中的每个键必须是唯一的。
创建字典
让我们从创建第一个字典开始:
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}")
字典键的属性
字典键有一些重要的属性:
- 键必须是不可变的(如字符串、数字或元组)。
- 键在字典中必须是唯一的。
例如:
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