Python 入门教程(4)数据类型 | 4.8、字典
字典由一对对的大括号{}包围,内部包含多个键值对。每个键值对之间用逗号,分隔,键(key)和值(value)之间用冒号分隔。"age": 30,Python的字典类型以其灵活性和强大的功能,成为处理键值对数据时的首选数据结构。无论是简单的数据存储,还是复杂的映射关系处理,字典都能提供高效且直观的解决方案。掌握字典的用法,对于编写高效、可维护的Python代码至关重要。
前言:
在Python编程中,字典(dictionary)是一种强大且灵活的数据结构,用于存储键值对(key-value pairs)。每个键都是唯一的,而每个值则可以是任何类型的数据,包括数字、字符串、列表甚至是另一个字典。字典提供了一种高效的方式来组织和访问数据,是Python中最常用且最重要的内置数据类型之一。
一、字典
1、字典的定义
字典由一对对的大括号
{}
包围,内部包含多个键值对。每个键值对之间用逗号,分隔,键(key)和值(value)之间用冒号:
分隔。例如:
my_dict = {
"name": "Alice",
"age": 30,
"city": "New York"
}
2、字典的特性
-
无序性:Python中的字典是无序的,这意味着你不能保证遍历字典时元素的顺序与插入顺序一致。然而,从Python 3.7开始,字典是按照插入顺序进行遍历的,这是一个实现细节,但在Python 3.7及以后的版本中得到了保证。
-
键的唯一性:字典中的键必须是唯一的,但值可以重复。如果尝试添加具有相同键的键值对,后添加的值会覆盖之前的值。
-
可变性:字典是可变的,这意味着你可以在创建后添加、修改或删除键值对。
-
键的类型:键可以是任何不可变类型,如字符串、数字或元组,但不能是列表、集合或字典等可变类型。
3、字典的操作
-
访问值:通过键来访问对应的值。
print(my_dict["name"]) # 输出: Alice
-
添加键值对:直接向字典中添加新的键值对,如果键已存在,则更新其值。
my_dict["occupation"] = "Engineer"
-
修改值:通过键来修改对应的值。
my_dict["age"] = 31
-
删除键值对:使用
del
语句或pop()
方法删除键值对。del my_dict["city"] occupation = my_dict.pop("occupation") # 返回值的同时删除键值对
-
检查键或值是否存在:使用
in
关键字检查键是否存在于字典中,使用values()
方法获取所有值并检查某个值是否存在。if "name" in my_dict: print("Name exists") if "Engineer" in my_dict.values(): print("Engineer is a value in the dictionary")
-
遍历字典:可以遍历字典的键、值或键值对。
# 遍历键 for key in my_dict: print(key) # 遍历值 for value in my_dict.values(): print(value) # 遍历键值对 for key, value in my_dict.items(): print(key, value)
-
字典的合并:Python 3.9引入了字典合并运算符
|
和|=
,允许轻松合并两个字典。dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "c": 4} merged_dict = dict1 | dict2 # {'a': 1, 'b': 3, 'c': 4} dict1 |= dict2 # 直接修改dict1,结果为 {'a': 1, 'b': 3, 'c': 4}
注意: 通过键来访问字典中的值。如果键不存在,会抛出
KeyError
异常。为了避免这种错误,可以使用get()
方法,该方法允许为不存在的键提供一个默认值。
print(my_dict['name']) # 输出: Alice
print(my_dict.get('age', 0)) # 输出: 30
print(my_dict.get('gender', 'Not specified')) # 输出: Not specified
4、字典的常用方法
clear()
: 清空字典中的所有键值对。copy()
: 返回字典的一个浅拷贝。fromkeys()
: 创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。get(key, default=None)
: 返回指定键的值,如果键不存在则返回默认值。keys()
: 返回一个包含字典所有键的视图对象。values()
: 返回一个包含字典所有值的视图对象。items()
: 返回一个包含字典所有键值对的视图对象。popitem()
: 移除并返回字典中的最后一个键值对(Python 3.7+ 保证按插入顺序)。setdefault(key, default=None)
: 如果键不存在于字典中,则设置键值对并返回其值;如果键已存在,则返回其值但不更改。update(other)
: 用另一个字典或可迭代对象更新当前字典。
5、总结
Python的字典类型以其灵活性和强大的功能,成为处理键值对数据时的首选数据结构。无论是简单的数据存储,还是复杂的映射关系处理,字典都能提供高效且直观的解决方案。掌握字典的用法,对于编写高效、可维护的Python代码至关重要。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)