目录
1、字典
字典(Dictionary) 是一种用于存储键值对(key-value pairs)数据的可变容器类型。每个字典都包含一组键(key)和值(value),通过键可以快速访问对应的值。字典是无序的,也就是说,它们不保证元素的顺序,直到 Python 3.7 之后,字典会保留插入的顺序
my_dict = {key1: value1, key2: value2, key3: value3}
- key:键,唯一且不可变,可以是字符串、数字或元组等不可变类型。
- value:值,任何数据类型,可以是数字、字符串、列表、字典等。
字典实例
student = {'name': 'Alice', 'age': 21, 'grade': 'A'}
print(student)
#输出 {'name': 'Alice', 'age': 21, 'grade': 'A'}
字典的特点
- 无序性:字典的元素没有特定顺序。
- 键的唯一性:字典中的每个键必须是唯一的,如果插入重复的键,后插入的键会覆盖前一个键的值。
- 可变性:字典是可变的,可以修改字典中的值,添加新的键值对,或者删除键值对。
- 键必须是不可变类型:字典的键必须是不可变类型,如字符串、数字、元组等。
2、字典常用操作
修改字典中的值
student = {'name': 'Alice', 'age': 21, 'grade': 'A'}
student['age'] = 22 # 修改键 'age' 对应的值
print(student)
#输出 {'name': 'Alice', 'age': 22, 'grade': 'A'}
添加新的键值对
student = {'name': 'Alice', 'age': 21, 'grade': 'A'}
student['city'] = 'New York' # 添加新的键值对
print(student)
#输出 {'name': 'Alice', 'age': 22, 'grade': 'A', 'city': 'New York'}
删除键值对
student = {'name': 'Alice', 'age': 21, 'grade': 'A'}
del student['grade'] # 删除键 'grade' 和对应的值
print(student)
#输出 {'name': 'Alice', 'age': 22, 'city': 'New York'}
通过键访问字典的值
student = {'name': 'Alice', 'age': 21, 'grade': 'A'}
print(student['name']) # 输出键 'name' 对应的值
#输出 Alice
3、字典的方法
clear():
清空字典中所有元素
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict.clear()
print(my_dict) # 输出 {}
copy():
返回字典的一个浅拷贝,即创建一个新的字典,但字典的内容是引用相同的对象
my_dict = {'a': 1, 'b': 2}
new_dict = my_dict.copy()
print(new_dict) # 输出 {'a': 1, 'b': 2}
get(key, default=None):
返回指定键的值,如果键不存在,则返回默认值(默认为 None
)
my_dict = {'a': 1, 'b': 2}
print(my_dict.get('a')) # 输出 1
print(my_dict.get('c', 'not found')) # 输出 'not found'
items()
:返回字典中所有键值对的可迭代视图
my_dict = {'a': 1, 'b': 2}
print(list(my_dict.items())) # 输出 [('a', 1), ('b', 2)]
keys()
:返回字典中所有键的可迭代视图
my_dict = {'a': 1, 'b': 2}
print(list(my_dict.keys())) # 输出 ['a', 'b']
values()
:返回字典中所有值的可迭代视图
my_dict = {'a': 1, 'b': 2}
print(list(my_dict.values())) # 输出 [1, 2]
pop(key, default=None)
:删除指定键的元素并返回其对应的值。如果键不存在,则返回默认值(默认为 None
)
my_dict = {'a': 1, 'b': 2}
print(my_dict.pop('a')) # 输出 1
print(my_dict) # 输出 {'b': 2}
popitem()
:删除并返回字典中的一对键值(以元组形式返回)。如果字典为空,会抛出 KeyError
my_dict = {'a': 1, 'b': 2}
print(my_dict.popitem()) # 输出 ('b', 2)
print(my_dict) # 输出 {'a': 1}
update(other)
:将另一个字典或键值对集合的元素添加到当前字典中。如果存在相同的键,值会被更新
my_dict = {'a': 1, 'b': 2}
other_dict = {'b': 3, 'c': 4}
my_dict.update(other_dict)
print(my_dict) # 输出 {'a': 1, 'b': 3, 'c': 4}