Python中的字典类型和常用操作
发布时间:2024-01-11 19:28:22
字典是Python中非常常用的数据类型,它是一种键值对的数据结构。字典用花括号{}表示,在其中可以存储任意数量的键值对,每个键值对用冒号:分隔。字典的键必须 且不可变,可以是整数、字符串、元组等不可变类型。字典的值可以是任意类型的对象,包括数字、字符串、列表、字典等。
下面是一些常用的字典操作和使用例子:
1. 创建字典
可以使用直接赋值的方式创建字典,也可以使用dict()内置函数来创建字典。
# 使用直接赋值的方式创建字典
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 使用dict()函数创建字典
my_dict = dict(name='Alice', age=20, gender='female')
2. 访问字典中的值
可以使用键来访问字典中的值。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 访问键为'name'的值
print(my_dict['name']) # 输出:Alice
# 访问不存在的键会抛出KeyError异常
print(my_dict['score']) # 抛出KeyError异常
3. 添加、修改和删除键值对
可以通过直接赋值的方式添加和修改键值对,使用del关键字删除键值对。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 添加键值对
my_dict['score'] = 90
# 修改键值对
my_dict['age'] = 21
# 删除键值对
del my_dict['gender']
4. 遍历字典
可以使用for循环遍历字典的键或者键值对。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 遍历键
for key in my_dict:
print(key) # 输出:name, age, gender
# 遍历值
for value in my_dict.values():
print(value) # 输出:Alice, 20, female
# 遍历键值对
for key, value in my_dict.items():
print(key, value) # 输出:name Alice, age 20, gender female
5. 使用in关键字判断键是否存在
可以使用in关键字判断一个键是否存在于字典中。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 判断键是否存在
if 'age' in my_dict:
print('age存在')
else:
print('age不存在')
# 输出:age存在
6. 获取字典的长度
可以使用len()函数获取字典中键值对的数量。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(len(my_dict)) # 输出:3
7. 清空字典
可以使用clear()方法清空字典。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
my_dict.clear()
print(my_dict) # 输出:{}
8. 字典的复制
可以使用copy()方法或者直接赋值的方式复制字典。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 使用copy()方法复制字典
new_dict = my_dict.copy()
# 使用直接赋值的方式复制字典
new_dict = my_dict
9. 字典的嵌套
字典可以嵌套在另一个字典中。
dict1 = {'name': 'Alice', 'age': 20, 'gender': 'female'}
dict2 = {'address': '123 Main St', 'city': 'New York'}
my_dict = {'personal_info': dict1, 'address_info': dict2}
print(my_dict['personal_info']['name']) # 输出:Alice
print(my_dict['address_info']['city']) # 输出:New York
这些只是字典的一些常见操作和使用方式,实际上字典还有很多其他方法和操作可以用来满足不同的需求。
