Python 字典(Dictionary)
Python 字典(Dictionary)技术文档
概述
在 Python 中,字典是一种无序的、可变的数据类型,用于存储键值对。字典中的元素是通过键来访问的,而不是通过索引。Python 字典可以存储任何类型的数据,包括整数、浮点数、字符串、列表、元组等。字典中的元素不能重复,如果键重复,后面的值会覆盖之前的值。
基本操作
创建字典
可以使用大括号来创建一个空的字典,也可以使用花括号和冒号来初始化一个非空的字典。
empty_dict = {}
print(empty_dict)
dict_literal = {'name': 'Tom', 'age': 22}
print(dict_literal)
访问元素
可以使用键来访问字典中的元素,如果键不存在,则会抛出 KeyError 异常。
# 访问字典中的元素
person = {'name': 'Tom', 'age': 22}
print(person['name'])
print(person['age'])
# 如果键不存在,则会抛出 KeyError 异常
print(person['gender']) # KeyError: 'gender'
修改元素
可以通过键来修改字典中的元素。
person = {'name': 'Tom', 'age': 22}
person['age'] = 23
print(person)
添加元素
可以通过键来添加字典中的元素。
person = {'name': 'Tom', 'age': 22}
person['gender'] = 'male'
print(person)
删除元素
可以使用 del 语句来删除字典中的元素。
person = {'name': 'Tom', 'age': 22}
del person['age']
print(person)
判断键是否存在
可以使用 in 运算符来判断一个键是否存在于字典中。
person = {'name': 'Tom', 'age': 22}
print('name' in person) # True
print('gender' in person) # False
获取所有的键和值
可以使用 keys()、values() 和 items() 方法来获取字典中所有的键、值和键值对。
person = {'name': 'Tom', 'age': 22}
print(person.keys()) # dict_keys(['name', 'age'])
print(person.values()) # dict_values(['Tom', 22])
print(person.items()) # dict_items([('name', 'Tom'), ('age', 22)])
字典的高级操作
字典推导式
字典推导式是一种快捷创建字典的方法,类似于列表推导式。通过遍历一个可迭代对象来快速构建字典。
# 创建一个字典,将字母转换成对应的 ASCII 码值
ascii_dict = {chr(i): i for i in range(65, 91)}
print(ascii_dict)
get 方法
get() 方法可以用来获取字典中指定键的值,如果键不存在,则返回默认值。
person = {'name': 'Tom', 'age': 22}
print(person.get('name')) # Tom
print(person.get('gender')) # None
print(person.get('gender', 'unknown')) # unknown
setdefault 方法
setdefault() 方法可以用来获取字典中指定键的值,如果键不存在,则设置默认值并返回默认值。
person = {'name': 'Tom', 'age': 22}
name = person.setdefault('name', 'unknown')
gender = person.setdefault('gender', 'male')
print(name) # Tom
print(gender) # male
print(person) # {'name': 'Tom', 'age': 22, 'gender': 'male'}
update 方法
update() 方法可以用来更新字典中的元素。
person1 = {'name': 'Tom', 'age': 22}
person2 = {'gender': 'male', 'hometown': 'Beijing'}
person1.update(person2)
print(person1) # {'name': 'Tom', 'age': 22, 'gender': 'male', 'hometown': 'Beijing'}
总结
Python 字典是一种非常实用的数据类型,可以存储任何类型的数据,并且可以通过键来访问元素,具有非常高的灵活性和效率。在实际编程中,我们应该尽可能地利用 Python 字典来简化代码,提高程序的可读性和可维护性。