📅  最后修改于: 2023-12-03 15:34:17.710000             🧑  作者: Mango
在Python中,我们可以通过值查找其对应的键。这在处理字典时非常有用。本篇介绍了两种方法,一种使用列表推导式和一种使用for循环。
列表推导式是一种简洁的编写列表的方式。我们可以使用列表推导式从字典中取出所有值并查找其对应的键。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
values_list = list(my_dict.values())
keys_list = [key for key in my_dict if my_dict[key] in values_list]
print(keys_list)
输出:
['name', 'age', 'city']
这里我们首先使用 values()
函数获取字典中的所有值,然后使用列表推导式找出对应的键。在列表推导式中,我们使用 for
循环遍历字典中的每一个键,判断对应的值是否在 values_list
中,如果在,就将该键加入到新的列表中。
需要注意的是,如果字典中有多个键对应相同的值,那么该方法只会返回其中一个键。
除了列表推导式外,我们还可以使用for循环来实现同样的功能。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
values_list = list(my_dict.values())
keys_list = []
for key in my_dict:
if my_dict[key] in values_list:
keys_list.append(key)
print(keys_list)
输出:
['name', 'age', 'city']
这里我们先将字典的所有值转换成一个列表,然后通过for循环遍历字典的每一个键,判断该键对应的值是否在 values_list
中,如果在,就将该键加入到新的列表 keys_list
中。
需要注意的是,同样的,如果字典中有多个键对应相同的值,该方法也只会返回其中一个键。
以上就是从值中搜索键的两种方法。无论是列表推导式还是for循环,都很简单易懂,可以满足我们日常的需求。