Python 字典(Dictionary)
引言
Python 字典(Dictionary)是一种非常有用的内置数据类型,用于存储键值对。它是一种无序的集合,其中每个键都映射到一个值。由于字典的键是唯一的,因此它们用于存储和检索数据非常高效。在本文中,我们将深入探讨 Python 字典的概念、用法和操作。
字典的基本概念
字典是 Python 中的一种基本数据结构,用于存储键值对。每个键值对由一个键(Key)和一个值(Value)组成。键是唯一的,而值可以是任何数据类型,包括数字、字符串、列表等。字典使用大括号 {}
来定义,键值对之间用冒号 :
分隔,不同的键值对之间用逗号 ,
分隔。
字典的创建
创建字典非常简单,只需要将键值对放入大括号中即可。例如:
my_dict = {'name': 'Alice', 'age': 25, 'email': 'alice@example.com'}
在这个例子中,'name'
、'age'
和 'email'
是键,而 'Alice'
、25
和 'alice@example.com'
是对应的值。
访问字典中的值
要访问字典中的值,可以使用键来获取。例如:
name = my_dict['name']
print(name) # 输出:Alice
如果尝试访问一个不存在的键,将会引发一个 KeyError
异常。为了避免这种情况,可以使用 get()
方法,它将返回 None
或指定的默认值,如果键不存在。
age = my_dict.get('age', 30)
print(age) # 输出:25
gender = my_dict.get('gender', 'Unknown')
print(gender) # 输出:Unknown
修改字典
字典是可变的,意味着可以修改它们的内容。可以添加新的键值对、修改现有的键值对或删除键值对。
添加键值对
要添加新的键值对,可以直接使用键来赋值。
my_dict['city'] = 'New York'
print(my_dict) # 输出:{'name': 'Alice', 'age': 25, 'email': 'alice@example.com', 'city': 'New York'}
修改键值对
要修改现有的键值对,只需重新赋值给键。
my_dict['age'] = 26
print(my_dict) # 输出:{'name': 'Alice', 'age': 26, 'email': 'alice@example.com', 'city': 'New York'}
删除键值对
可以使用 del
关键字来删除键值对。
del my_dict['email']
print(my_dict) # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}
字典的遍历
可以使用 for
循环来遍历字典中的键值对。有两种常见的方法:
遍历键
for key in my_dict:
print(f"{key}: {my_dict[key]}")
遍历键值对
for key, value in my_dict.items():
print(f"{key}: {value}")
字典的方法
Python 提供了许多内置方法来操作字典,例如 keys()
、values()
、items()
等。这些方法非常有用,可以帮助我们更有效地处理字典。
keys()
方法
keys()
方法返回字典中的所有键。
keys = my_dict.keys()
print(keys) # 输出:dict_keys(['name', 'age', 'city'])
values()
方法
values()
方法返回字典中的所有值。
values = my_dict.values()
print(values) # 输出:dict_values(['Alice', 26, 'New York'])
items()
方法
items()
方法返回字典中的所有键值对,每个键值对都是一个元组。
items = my_dict.items()
print(items) # 输出:dict_items([('name', 'Alice'), ('age', 26), ('city', 'New York')])
字典的排序
字典本身是无序的,但可以使用 sorted()
函数对字典进行排序。可以按键或值进行排序。
按键排序
sorted_dict = dict(sorted(my_dict.items()))
print(sorted_dict) # 输出:{'age': 26, 'city': 'New York', 'name': 'Alice'}
按值排序