在 Python 中,字典是一种无序的集合类型,它以键-值对的形式存储数据。字典的每个元素都有一个唯一的键,并且每个键都对应一个值。获取字典中的值是字典操作的常见任务,今天我们将学习如何从字典中获取键对应的值。
1. 使用方括号([]
)获取字典值
最直接的方法是通过字典的键来访问对应的值。你可以使用方括号来传入字典的键,然后返回相应的值。
示例:
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}# 使用方括号获取字典值
print(my_dict['name']) # 输出: Alice
print(my_dict['age']) # 输出: 25
这种方法适用于键一定存在的情况。如果键不存在,会抛出 KeyError
错误。
2. 使用 get()
方法获取字典值
get()
方法是获取字典值的另一种常用方式。与使用方括号不同,get()
方法可以防止 KeyError
错误。如果字典中没有该键,get()
方法会返回 None
,或者你可以设置一个默认值。
示例:
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}# 使用 get() 方法获取字典值
print(my_dict.get('name')) # 输出: Alice
print(my_dict.get('age')) # 输出: 25# 使用 get() 方法获取不存在的键
print(my_dict.get('country')) # 输出: None
print(my_dict.get('country', 'Unknown')) # 输出: Unknown
3. 使用 keys()
和 values()
获取字典的所有键和值
如果你想获取字典中的所有键或所有值,可以使用 keys()
方法和 values()
方法。
keys()
方法返回字典中所有键的可迭代对象。values()
方法返回字典中所有值的可迭代对象。
示例:
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}# 获取字典所有的键
print(my_dict.keys()) # 输出: dict_keys(['name', 'age', 'city'])# 获取字典所有的值
print(my_dict.values()) # 输出: dict_values(['Alice', 25, 'New York'])
4. 使用 items()
获取字典的键值对
items()
方法返回一个包含字典所有键值对的可迭代对象,每个元素是一个包含键和值的元组。
示例:
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}# 获取字典的键值对
for key, value in my_dict.items():print(f"键: {key}, 值: {value}")
输出:
键: name, 值: Alice
键: age, 值: 25
键: city, 值: New York
5. 小结
- 使用方括号 (
[]
) 可以通过键直接访问字典的值,适用于键一定存在的情况。 - 使用
get()
方法可以安全地获取字典值,不会抛出异常,且可以设置默认值。 - 使用
keys()
和values()
方法可以获取字典中的所有键和值。 - 使用
items()
方法可以同时获取字典中的键和值。
6. 课后练习
练习 1:使用方括号获取字典值
给定字典 {'name': 'Bob', 'age': 30, 'job': 'Engineer'}
,使用方括号获取 name
和 age
的值并打印。
练习 2:使用 get()
方法获取字典值
给定字典 {'name': 'Charlie', 'age': 22, 'city': 'Los Angeles'}
,使用 get()
方法获取 city
和 country
的值,并提供一个默认值。
练习 3:获取字典所有键和值
给定字典 {'brand': 'Toyota', 'model': 'Corolla', 'year': 2021}
,使用 keys()
和 values()
方法获取字典中的所有键和值。
练习 4:遍历字典的键值对
给定字典 {'fruit': 'Apple', 'color': 'Red', 'taste': 'Sweet'}
,使用 items()
方法遍历并打印所有的键值对。
练习 5:通过键获取字典的值并处理不存在的键
给定字典 {'name': 'David', 'age': 40, 'city': 'Paris'}
,尝试通过键获取 country
的值,并设置一个默认值。