Python 键值对
在Python中,字典(dictionary)是一种无序的、可变的、有键值对(key-value pair)的数据结构。 在字典中,键和值之间是一一对应的关系。键必须是不可变的数据类型,比如整数、字符串或元组;而值可以是任意类型的数据。
创建字典
我们可以使用花括号 {}
或者 dict()
函数来创建一个空字典,也可以在大括号中指定键值对初始化一个字典。下面是创建字典的一些示例:
# 创建一个空字典
my_dict = {}
print(my_dict) # 输出: {}
# 使用大括号初始化一个字典
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
print(my_dict)
# 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 使用 dict() 函数创建字典
my_dict = dict([('name', 'Bob'), ('age', 25), ('city', 'Chicago')])
print(my_dict)
# 输出: {'name': 'Bob', 'age': 25, 'city': 'Chicago'}
访问字典中的元素
我们可以使用键来访问字典中的对应值。如果键不存在,会引发 KeyError
异常。下面是访问字典中元素的示例:
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 访问键为 'name' 的值
print(my_dict['name']) # 输出: Alice
# 访问不存在的键会引发 KeyError 异常
# print(my_dict['gender']) # KeyError
为了避免 KeyError
异常,我们可以使用 get()
方法来访问字典中的值。如果键不存在,get()
方法会返回 None
或者用户指定的默认值。下面是使用 get()
方法访问字典中元素的示例:
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 使用 get() 方法访问键为 'name' 的值
print(my_dict.get('name')) # 输出: Alice
# 不存在的键返回 None
print(my_dict.get('gender')) # 输出: None
# 可以指定默认值
print(my_dict.get('gender', 'unknown')) # 输出: unknown
添加或修改字典中的元素
我们可以使用 []
运算符来为字典添加新的键值对或修改已有的键值对。如果键存在,则会修改对应的值;如果键不存在,则会添加新的键值对。下面是添加或修改字典中元素的示例:
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 添加新的键值对
my_dict['gender'] = 'female'
print(my_dict)
# 输出: {'name': 'Alice', 'age': 30, 'city': 'New York', 'gender': 'female'}
# 修改键为 'age' 的值
my_dict['age'] = 35
print(my_dict)
# 输出: {'name': 'Alice', 'age': 35, 'city': 'New York', 'gender': 'female'}
删除字典中的元素
我们可以使用 del
关键字来删除字典中的元素。如果键不存在,会引发 KeyError
异常。下面是删除字典中元素的示例:
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 删除键为 'age' 的键值对
del my_dict['age']
print(my_dict)
# 输出: {'name': 'Alice', 'city': 'New York'}
# 删除不存在的键会引发 KeyError 异常
# del my_dict['gender'] # KeyError
为了避免 KeyError
异常,我们可以使用 pop()
方法来删除字典中的元素,并返回对应的值。如果键不存在,pop()
方法会返回用户指定的默认值。下面是使用 pop()
方法删除字典中元素的示例:
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 删除键为 'age' 的键值对
removed_age = my_dict.pop('age')
print(my_dict)
# 输出: {'name': 'Alice', 'city': 'New York'}
print(removed_age) # 输出: 30
# 删除不存在的键,返回指定默认值
removed_gender = my_dict.pop('gender', 'unknown')
print(removed_gender) # 输出: unknown
遍历字典
我们可以使用 keys()
、values()
和 items()
方法来遍历字典的键、值和键值对。下面是遍历字典的一些示例:
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 遍历字典的键
for key in my_dict.keys():
print(key)
# 输出:
# name
# age
# city
# 遍历字典的值
for value in my_dict.values():
print(value)
# 输出:
# Alice
# 30
# New York
# 遍历字典的键值对
for key, value in my_dict.items():
print(f'{key}: {value}')
# 输出:
# name: Alice
# age: 30
# city: New York
字典的常用操作
除了上述的操作之外,字典还支持一些其他的操作,比如:
len()
函数可以返回字典中键值对的个数。in
关键字可以用来检查字典中是否存在某个键。clear()
方法可以清空字典中的所有键值对。
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 返回字典中键值对的个数
print(len(my_dict)) # 输出: 3
# 检查键是否存在
print('age' in my_dict) # 输出: True
print('gender' in my_dict) # 输出: False
# 清空字典
my_dict.clear()
print(my_dict) # 输出: {}
总结
本文介绍了在Python中使用字典(键值对)这种数据结构的相关知识,包括创建字典、访问字典中元素、添加或修改字典中元素、删除字典中元素、遍历字典、以及字典的常用操作。字典在实际开发中非常常用,能够高效地存储和操作键值对数据。