字典的基本概念
字典是Python中一种可变容器模型,可存储任意类型对象。字典的每个键值对用冒号:分割,键值对之间用逗号,分割,整个字典包括在花括号{}中。
字典的特点:
- 键必须是唯一的,且不可变(如字符串、数字或元组)。
- 值可以取任何数据类型。
- 字典是无序的(Python 3.7+中字典会保持插入顺序,但不应依赖此特性)。
创建字典
通过花括号{}或dict()函数创建字典:
# 直接创建
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 使用dict()函数
my_dict = dict(name='Alice', age=25, city='New York')
# 空字典
empty_dict = {}
访问字典元素
通过键访问对应的值:
print(my_dict['name']) # 输出: Alice
# 使用get()方法避免KeyError
print(my_dict.get('age')) # 输出: 25
print(my_dict.get('country', 'USA')) # 键不存在时返回默认值'USA'
修改字典
更新现有键的值或添加新键值对:
my_dict['age'] = 26 # 更新
my_dict['country'] = 'USA' # 添加
删除元素
使用del语句或pop()方法:
del my_dict['city'] # 删除键'city'
age = my_dict.pop('age') # 删除并返回'age'的值
my_dict.clear() # 清空字典
字典常用方法
keys(): 返回所有键values(): 返回所有值items(): 返回所有键值对update(): 合并字典
print(my_dict.keys()) # 输出: dict_keys(['name', 'age', 'city'])
print(my_dict.values()) # 输出: dict_values(['Alice', 25, 'New York'])
# 遍历字典
for key, value in my_dict.items():
print(f"{key}: {value}")
# 合并字典
new_data = {'job': 'Engineer', 'salary': 80000}
my_dict.update(new_data)
字典推导式
类似列表推导式,可以快速创建字典:
squares = {x: x*x for x in range(6)}
# 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
嵌套字典
字典可以包含其他字典,实现复杂数据结构:
employees = {
'emp1': {'name': 'John', 'age': 32},
'emp2': {'name': 'Mary', 'age': 28}
}
print(employees['emp1']['name']) # 输出: John
注意事项
- 避免在遍历字典时修改其大小(增删元素),否则可能引发异常。
- 字典键必须是不可变类型,列表等可变类型不能作为键。
- Python 3.7+中字典会保持插入顺序,但代码不应依赖此特性。
1762

被折叠的 条评论
为什么被折叠?



