在Python中,字典(Dictionary)是一种无序的数据结构,它存储了键值对(key-value pairs)的集合。字典的每个键都是唯一的,而值则可以是任意数据类型,包括列表、元组、字典等。
定义字典
字典使用大括号 {} 定义,键值对之间用冒号 : 分隔,不同键值对之间用逗号 , 分隔。
|
# 定义一个空字典 |
|
empty_dict = {} |
|
|
|
# 定义一个包含多个键值对的字典 |
|
person = { |
|
'name': 'Alice', |
|
'age': 30, |
|
'city': 'New York' |
|
} |
|
|
|
# 字典的键可以是任何不可变类型,如字符串、数字或元组 |
|
# 但通常使用字符串作为键 |
|
dictionary_with_numbers = { |
|
1: 'one', |
|
2: 'two', |
|
3: 'three' |
|
} |
访问字典元素
通过键来访问字典中的值。
|
# 访问字典中的值 |
|
name = person['name'] |
|
print(name) # 输出:Alice |
|
|
|
# 访问不存在的键会引发KeyError |
|
# age = person['country'] # KeyError: 'country' |
|
|
|
# 为了避免KeyError,可以使用get()方法,它允许你指定一个默认值 |
|
country = person.get('country', 'Not Specified') |
|
print(country) # 输出:Not Specified |
添加元素到字典
可以直接通过赋值的方式向字典中添加新的键值对。
|
# 添加新的键值对 |
|
person['occupation'] = 'Software Developer' |
|
print(person) |
|
# 输出:{'name': 'Alice', 'age': 30, 'city': 'New York', 'occupation': 'Software Developer'} |
修改字典元素
通过重新赋值来修改字典中的值。
|
# 修改字典中的值 |
|
person['age'] = 31 |
|
print(person) |
|
# 输出:{'name': 'Alice', 'age': 31, 'city': 'New York', 'occupation': 'Software Developer'} |
删除字典元素
可以使用 del 关键字、pop() 方法或 popitem() 方法来删除字典中的元素。
|
# 使用del关键字删除键值对 |
|
del person['occupation'] |
|
print(person) |
|
# 输出:{'name': 'Alice', 'age': 31, 'city': 'New York'} |
|
|
|
# 使用pop()方法删除键值对,并返回被删除的值 |
|
occupation = person.pop('city') |
|
print(occupation) # 输出:New York |
|
print(person) |
|
# 输出:{'name': 'Alice', 'age': 31} |
|
|
|
# pop()方法也可以接受一个默认值,以防键不存在 |
|
default_value = person.pop('country', 'Not Specified') |
|
print(default_value) # 输出:Not Specified |
|
print(person) |
|
# 输出:{'name': 'Alice', 'age': 31} |
|
|
|
# popitem()方法删除并返回字典中的最后一个键值对(在Python 3.7+中,是最后插入的键值对) |
|
item = person.popitem() |
|
print(item) # 输出:('age', 31) |
|
print(person) |
|
# 输出:{'name': 'Alice'} |
字典的遍历
可以遍历字典的键、值或键值对。
|
# 遍历字典的键 |
|
for key in person: |
|
print(key) |
|
# 输出: |
|
# name |
|
# age |
|
|
|
# 遍历字典的值 |
|
for value in person.values(): |
|
print(value) |
|
# 输出: |
|
# Alice |
|
# 31 |
|
|
|
# 遍历字典的键值对 |
|
for key, value in person.items(): |
|
print(key, value) |
|
# 输出: |
|
# name Alice |
|
# age 31 |
字典在Python中是一种非常实用的数据结构,它们提供了快速查找、插入和删除键值对的能力,使得在处理复杂数据时非常高效。