访问 Python 字典中的项涉及到从字典数据结构中检索与特定键相关的值。字典是由键值对组成的,其中每个键是唯一的,并映射到相应的值。访问字典项使您能够通过提供相应的键来检索这些值。
有多种方式可以访问 Python 字典中的项。这些方法包括:
-
-
-
-
使用特定的方法如
keys()
, values()
, 和 items()
我们将详细讨论每种方法以便理解如何从字典中访问和检索数据。
使用方括号 []
访问字典项
在 Python 中,方括号 []
用于创建列表、从列表或其他可迭代对象(如字符串、元组或字典)访问元素,并用于列表推导式。
我们可以使用方括号通过在括号内提供键来访问字典项。这会检索与指定键相关联的值。
示例 1
在以下示例中,我们定义了一个名为 capitals
的字典,其中每个键代表一个州名,其对应的值代表首府城市。
然后,我们使用各自的键 'Gujarat'
和 'Karnataka'
从字典中访问并检索 Gujarat 和 Karnataka 的首府城市:
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Gujarat is : ", capitals['Gujarat'])
print ("Capital of Karnataka is : ", capitals['Karnataka'])
它将产生以下输出:
Capital of Gujarat is: Gandhinagar
Capital of Karnataka is: Bengaluru
示例 2
如果提供的键不在字典对象中,Python 会抛出一个 KeyError
:
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Haryana is : ", capitals['Haryana'])
将会得到如下错误:
KeyError: 'Haryana'
使用 get()
方法访问字典项
Python 的 dict
类中的 get()
方法用于检索与指定键相关联的值。如果字典中未找到该键,则返回默认值(通常是 None
)而不是抛出 KeyError
。
我们可以通过指定键来使用 get()
方法访问字典项。如果键存在于字典中,该方法将返回相关联的值;否则,它将返回默认值,默认通常是 None
,除非另有指定。
语法
以下是 Python 中 get()
方法的语法:
val = dict.get("key")
其中 key
是用作字典对象中的键的不可变对象。
示例 1
在下面的例子中,我们定义了一个名为 capitals
的字典,其中每个键值对将一个州与其首府城市对应起来。然后,我们使用 get()
方法来检索 "Gujarat" 和 "Karnataka" 的首府城市:
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Gujarat is: ", capitals.get('Gujarat'))
print ("Capital of Karnataka is: ", capitals.get('Karnataka'))
我们将得到如下输出:
Capital of Gujarat is: Gandhinagar
Capital of Karnataka is: Bengaluru
示例 2
与 []
操作符不同的是,如果未找到键,get()
方法不会引发错误;它返回 None
:
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Haryana is : ", capitals.get('Haryana'))
它将产生以下输出:
Capital of Haryana is : None
示例 3
get()
方法接受一个可选的字符串参数。如果提供了这个参数并且未找到键,那么这个字符串将成为返回值:
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Haryana is : ", capitals.get('Haryana', 'Not found'))
执行上述代码后,我们得到的输出结果为:
Capital of Haryana is: Not found
访问字典键
在一个字典中,键是与每个值相关联的唯一标识符。它们充当标签或索引,使您可以访问和检索相应的值。键是不可变的,意味着一旦分配就不能更改。它们必须是不可变的数据类型,如字符串、数字或元组。
我们可以通过使用 keys()
方法来访问 Python 中的字典键,该方法返回包含字典中所有键的视图对象。
示例
在这个示例中,我们使用 keys()
方法从字典 student_info
中检索所有的键:
student_info = {
"name": "Alice",
"age": 21,
"major": "Computer Science"
}
all_keys = student_info.keys()
print("Keys:", all_keys)
以下是上述代码的输出:
Keys: dict_keys(['name', 'age', 'major'])
访问字典值
在一个字典中,值是与每个唯一键相关联的数据。它们代表存储在字典中的实际信息,并且可以是任何数据类型,如字符串、整数、列表、其他字典等。字典中的每个键映射到一个特定的值,形成一个键值对。
我们可以通过以下几种方式访问 Python 中的字典值:
-
-
get()
方法 —— 通过调用带有键作为参数的方法,可选地提供默认值。
-
values()
方法 —— 返回包含字典中所有值的视图对象。
示例 1
在这个示例中,我们直接使用方括号来访问与键 "name"
和 "age"
相关的值:
student_info = {
"name": "Alice",
"age": 21,
"major": "Computer Science"
}
name = student_info["name"]
age = student_info["age"]
print("Name:", name)
print("Age:", age)
上述代码的输出如下:
Name: Alice
Age: 21
示例 2
在这里,我们使用 get()
方法来检索与键 "major"
相关的值,并为不存在的键 "graduation_year"
提供一个默认值 "2023"
:
student_info = {
"name": "Alice",
"age": 21,
"major": "Computer Science"
}
major = student_info.get("major")
grad_year = student_info.get("graduation_year", "2023")
print("Major:", major)
print("Graduation Year:", grad_year)
我们得到的结果如下:
Major: Computer Science
Graduation Year: 2023
示例 3
现在,我们使用 values()
方法从字典 student_info
中检索所有的值:
student_info = {
"name": "Alice",
"age": 21,
"major": "Computer Science"
}
all_values = student_info.values()
print("Values:", all_values)
所得到的结果如下:
Values: dict_values(['Alice', 21, 'Computer Science'])
使用 items()
函数访问字典项
Python 中的 items()
函数用于返回一个显示字典的键值对元组列表的视图对象。
此视图对象可用于同时遍历字典的键和值,使得在一个循环中访问键和值变得容易。
示例
在以下示例中,我们使用 items()
函数从字典 student_info
中检索所有的键值对:
student_info = {
"name": "Alice",
"age": 21,
"major": "Computer Science"
}
all_items = student_info.items()
print("Items:", all_items)
print("Iterating through key-value pairs:")
for key, value in all_items:
print(f"{key}: {value}")
以下是上述代码的输出:
Items: dict_items([('name', 'Alice'), ('age', 21), ('major', 'Computer Science')])
Iterating through key-value pairs:
name: Alice
age: 21
major: Computer Science