Python - 访问字典项



访问字典项

在 Python 中访问字典项涉及检索与字典数据结构中的特定键关联的值。字典由键值对组成,其中每个键都是唯一的,并映射到相应的值。通过访问字典项,您可以通过提供相应的键来检索这些值。

在 Python 中有多种方法可以访问字典项。它们包括 -

  • 使用方括号 []
  • get() 方法
  • 使用循环遍历字典
  • 或者 keys()、values() 和 items() 等特定方法

我们将详细讨论每种方法,以了解如何从字典中访问和检索数据。

使用方括号 [] 访问字典项

在 Python 中,方括号 [] 用于创建列表、访问列表或其他可迭代对象(如字符串、元组或字典)中的元素,以及用于列表推导。

我们可以通过在方括号内提供键来使用方括号访问字典项。这将检索与指定键关联的值。

示例 1

在以下示例中,我们将定义一个名为 “capitals” 的字典,其中每个键表示一个州,其相应的值表示首都。

然后,我们使用字典中各自的键“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 ("Captial of Haryana is : ", capitals['Haryana'])

以下是获得的错误 -

print ("Captial of Haryana is : ", capitals['Haryana'])
~~~~~~~~^^^^^^^^^^^
KeyError: 'Haryana'

使用 get() 方法访问字典项

Python 的 dict 类中的 get() 方法用于检索与指定键关联的值。如果在字典中找不到该键,它将返回默认值(通常为 None),而不是引发 KeyError。

我们可以通过将键指定为参数来使用 get() 方法访问字典项。如果字典中存在键,则该方法返回关联的值;否则,它将返回默认值,除非另有指定,否则该值通常为 None。

语法

以下是 Python 中 get() 方法的语法 -


 Val = dict.get("key")

其中,key 是一个不可变对象,用作 Dictionary 对象中的 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() 方法接受一个可选的 string 参数。如果给出了键,并且找不到键,则此字符串将成为返回值 -


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” 中检索所有键 -


# Creating a dictionary with keys and values
student_info = {
	 	 "name": "Alice",
	 	 "age": 21,
	 	 "major": "Computer Science"
}
# Accessing all keys using the keys() method
all_keys = student_info.keys()
print("Keys:", all_keys) 	

以下是上述代码的输出 -

Keys: dict_keys(['name', 'age', 'major'])

访问字典值

在字典中,值是与每个唯一键关联的数据。它们表示存储在字典中的实际信息,可以是任何数据类型,例如字符串、整数、列表、其他字典等。字典中的每个键都映射到一个特定的值,形成一个键值对。

我们可以在 Python 中使用 −

  • 方括号 ([]) − 通过在括号内提供密钥。
  • get() 方法 - 通过调用将 key 作为参数的方法,可以选择提供默认值。
  • values() 方法 − 返回一个包含字典中所有值的视图对象
示例 1

在此示例中,我们使用方括号直接访问与键 “name” 和 “age” 关联的 -


# Creating a dictionary with student information
student_info = {
	 	 "name": "Alice",
	 	 "age": 21,
	 	 "major": "Computer Science"
}
# Accessing dictionary values using square brackets
name = student_info["name"]
age = student_info["age"]
print("Name:", name)	
print("Age:", age) 		

上述代码的输出如下 -

Name: Alice
Age: 21

示例 2

在这里,我们使用 get() 方法检索与键 “major” 关联的值,并为键 “graduation_year” 提供默认值 “2023” -


# Creating a dictionary with student information
student_info = {
	 	 "name": "Alice",
	 	 "age": 21,
	 	 "major": "Computer Science"
}
# Accessing dictionary values using the get() method
major = student_info.get("major")
# Default value provided if key is not found
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” 中检索所有值 -


# Creating a dictionary with keys and values
student_info = {
	 	 "name": "Alice",
	 	 "age": 21,
	 	 "major": "Computer Science"
}
# Accessing all values using the values() method
all_values = student_info.values()
print("Values:", all_values)	

获得的结果如下所示 -

Values: dict_values(['Alice', 21, 'Computer Science'])

使用 items() 函数访问字典项

Python 中的 items() 函数用于返回一个视图对象,该对象显示字典的键值元组对列表。

此视图对象可用于同时迭代字典的键和值,从而在单个循环中轻松访问键和值。

在下面的示例中,我们使用 items() 函数从字典 “student_info” 中检索所有键值对 -


# Creating a dictionary with student information
student_info = {
	 	 "name": "Alice",
	 	 "age": 21,
	 	 "major": "Computer Science"
}

# Using the items() method to get key-value pairs
all_items = student_info.items()
print("Items:", all_items) 	
# Iterating through the key-value pairs
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