Python程序 在字典中搜索元素
字典被用来以 键:值
的方式存储数据值,就像是「地图」(不像是其它数据类型只持有单个数据值)。字典用键:值
存储数据以使得它变得更为有效。每个键都是独一无二的。字典的键必须是独一无二的,这些字典没有允许重复的值。字典中的元素-是有序、可改变、不可变的。这里的可改变意味着我们可以在字典被创建后添加或者移除字典中的元素。
在这篇文章中,我们将会了解到如何通过不同的函数来搜索字典中的元素。通过使用不同的方法如 「for」和「in」,list.index(),dict.item(),通过 item+list 等,有许多函数可以用于搜索字典中的元素。
如何从字典中搜索元素?
在这里,我们提供了一个数字字典,我们必须通过不同的方式搜索字典中的元素。有四种方法可以搜索字典中的元素。
- 通过使用「for」和「in」循环
-
通过使用 items() + list
-
通过使用 dict.item()
-
通过使用 list.index()
使用 「for」和「in」 循环
for 循环被用于执行可重复的语句,直到满足给定条件。并且当条件为 false 时,程序中 loop 之后的代码会得到执行。
「in」 运算符决定了给定的值是否是一个序列元素,比如说一个字符串,数组、列表、元组、字典。它被用于搜索字典中的元素 。例如−
例子
在这里,我们有一个程序,在程序中我们使用“for loop”来搜索字典中的元素。 在这个程序中,我们搜索所存在于字典中的“value=3”元素。因此输出结果为“cherry”。
fruit = {'apple' : 1, 'mango' : 2, 'cherry' : 3}
print("The original dictionary is : " + str(fruit))
val = 3
for key in fruit:
if fruit[key] == val:
res = key
print("The key corresponding to value : " + str(res))
输出
The original dictionary is : {'apple': 1, 'mango': 2, 'cherry': 3}
The key corresponding to value : cherry
使用items+list
列表是一种数据结构,它是一个可以改变的、可变的、可在有序序列中进行迭代元素的序列,可以有多个元素存储在单一变量中。列表允许重复的元素。
通过使用items(),它被用于一次提取两个键和值,因此使得搜索变得容易,并且使用 list 可以让在字典中搜索元素的过程变得容易。
例子
在这里,我们有一个程序,在程序中我们使用“item()+list”来搜索字典中的元素。 在这个程序中,我们搜索所存在于字典中的“value=2”元素。因此输出结果为“mango”。
fruit = {'apple' : 1, 'mango' : 2, 'cheery' : 3}
print("The original dictionary is : " + str(fruit))
val = 2
res = [key for key, value in fruit.items() if value == val]
print("The key corresponding to value : " + str(res))
输出
The original dictionary is : {'apple': 1, 'mango': 2, 'cheery': 3}
The key corresponding to value : ['mango']
使用dict.item()
通过使用dict.items(),它被用于从一个值中提取两个键和值,通过匹配所有的值。
例子
在这里,我们有一个程序,我们使用“dict.item()”搜索列表中的元素。在这个程序中,我们搜索了所存在于字典中的“100 和 11”元素。因此输出结果为“Java和C”。
def get_key(val):
for key, value in program.items():
if val == value:
return key
return "key doesn't exist"
program = {"Java": 100, "Python": 112, "C": 11}
print(get_key(100))
print(get_key(11))
输出
Java
C
使用list.index()
使用缩进来一行代码搜索字典中的元素。
例子
在这里,我们有一个程序,其中我们使用了“list.index()”来在字典中搜索一个元素。在这个程序中,我们搜索了索引为“112”的元素,它存在于一个字典中。因此,输出为“Python”。
program = {"Java":100, "Python":112, "C":11}
print("One line Code Key value: ", list(program.keys())[list(program.values()).index(112)])
输出
One line Code Key value: Python
结论
在本文中,我们简要讨论了在字典中搜索元素所使用的不同方法。