如何从Python字典中获取给定键的值?


在这篇文章中,我们将向您展示如何从Python中的字典获取给定键的值。以下是完成此任务的四种不同方法:

  • 使用字典索引

  • 使用dict.get()方法

  • 使用keys()函数

  • 使用items()函数

假设我们已经获取了一个包含键值对的字典。我们将从给定的输入字典中返回给定键的值。

方法1:使用字典索引

Python中,我们可以使用`dict[key]`从字典中检索值。

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建一个变量来存储输入字典

  • 通过将键值传递到输入字典的`[]`括号中,从输入字典中获取给定键的值。

  • 打印给定键的结果值。

示例1

下面的程序使用`dict[key]`方法从输入字典中返回给定键的值的索引:

# input dictionary demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'} # Printing the value of key 10 from a dictionary print("The value of key 10 from dictionary is =", demoDictionary[10])

输出

The value of key 10 from dictionary is = TutorialsPoint

如果给定的输入字典中不存在该键,则会引发KeyError

示例2

在下面的代码中,键“hello”不在输入列表中。因此,当我们尝试打印键“hello”的值时,会返回KeyError

# input dictionary demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'} # Printing the value of key 'hello' from a dictionary # A KeyError is raised as the hello key is NOT present in the dictionary print("The value of key 'hello' from a dictionary:", demoDictionary['hello'])

输出

Traceback (most recent call last):
  File "main.py", line 6, in 
    print("The value of key 'hello' from a dictionary:", demoDictionary['hello'])
KeyError: 'hello'

处理KeyError

以下代码使用try-except块处理上述代码中返回的KeyError

示例

如果发生任何错误,则将执行except块语句。

# input dictionary demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'} # Handling KeyError using try-except blocks try: print(demoDictionary['hello']) except KeyError: print("No, The key for Value 'Hello' does not exist in the dictionary. Please check")

输出

No, The key for Value 'Hello' does not exist in the dictionary. Please check

方法2:使用dict.get()方法

我们可以使用字典的get()方法获取字典中指定键的值,如果键不存在,则不会引发错误。

作为第一个参数,指定键。如果键存在,则返回相应的值;否则,返回None。

示例1

下面的程序使用dict.get()方法从输入字典中返回给定键的值的索引:

# input dictionary demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'} # Printing the value of key 10 from a dictionary using get() method print("The value of key 10 from a dictionary:", demoDictionary.get(10)) # Printing the value of key 'hello' from a dictionary # As the hello key does not exist in the dictionary, it returns None print("The value of key 'hello' from a dictionary:", demoDictionary.get('hello'))

输出

The value of key 10 from a dictionary: TutorialsPoint
The value of key 'hello' from a dictionary: None

在第二个参数中,您可以定义如果键不存在要返回的默认值。

示例2

下面的程序使用dict.get()方法返回用户给定的消息(作为第二个参数传递),如果键不存在于字典中:

# input dictionary demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'} # Printing the value of key 'hello' from a dictionary # As the hello key does not exist in the dictionary, it returns the user-given message print("The value of key 'hello' from a dictionary:", demoDictionary.get('hello', "The Key does not exist"))

输出

The value of key 'hello' from a dictionary: The Key does not exist

方法3:使用keys()函数

下面的程序使用keys()方法从输入字典中返回给定键的值的索引:

以下是执行所需任务的算法/步骤:

  • 使用keys()函数遍历字典键(dict.keys()方法提供一个视图对象,按插入顺序显示字典中所有键的列表)。

  • 检查给定键是否等于迭代器值,如果相等,则打印其对应的值。

示例

# input dictionary demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'} # enter the key for which the value to be obtained givenkey= 10 # Traversing the keys of the dictionary for i in demoDictionary.keys(): # checking whether the value of the iterator is equal to the above-entered key if(i==givenkey): # printing the value of the key print(demoDictionary[i])

输出

TutorialsPoint

方法4:使用items()函数

示例

下面的程序使用items()方法从输入字典中返回给定键的值的索引:

# input dictionary demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'} givenkey= 12 # Traversing in the key-value pairs of the dictionary using the items() function for key,val in demoDictionary.items(): # checking whether the key value of the iterator is equal to the above-entered key if(key==givenkey): print(val)

输出

Python

结论

在本文中,我们学习了如何使用四种不同的方法获取字典键的值。我们还学习了如何在字典中不存在键时处理错误。

更新于:2023年10月31日

32K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始
广告