如何根据值打印特定键

时间:2020-03-15 03:28:09

标签: python dictionary

dict = {"Hi":1, "Bye":2, "Hello":1, "Good-bye":6"}

如果我将某个值设为1,那么我该如何打印与1对应的键?

6 个答案:

答案 0 :(得分:1)

这将检查所有值并将其键添加到唯一列表:

def find_key(target, my_dict):
    results = []
    for ky, val in my_dict.items():
        if str(val) == str(target) and ky not in results:
            results.append(ky)
    return results


my_dict = {"Hi": 1, "Bye": 2, "Hello": 1, "Good-bye": 6}
my_results = find_key("1", my_dict)
print(my_results)

答案 1 :(得分:0)

没有直接的方法可以做到这一点。 Dict用于通过键获取值。

一种执行所需操作的方法是逐一验证:

for key, value in dict.items():
    if value == desired_value:
        print(key)

答案 2 :(得分:0)

不打算以这种方式使用词典...但是可以使用一种解决方案。

py_dict = {"Hi":1, "Bye":2, "Hello":1, "Good-bye":6}

for key, value in py_dict.items():
    if value == 6:
        print(f"{key} holds the value {value}")

答案 3 :(得分:0)

正如@barmer所建议的那样,使用类似于pipe.items()的for循环遍历字典。希望这对您有帮助

对于键,d.items()中的值: 如果值== 1: 打印(键)

答案 4 :(得分:0)

my_dict = {"Hi":1, "Bye":2, "Hello":1, "Good-bye":6}
for key, value in my_dict.items() :
    if value == 1 :
        print (key, value)

答案 5 :(得分:0)

python的优点在于,如果找不到所需的功能,您可以快速创建一个功能

some_dict = {"a":1, "b":2}
f_value = 2

a = [key for key, value in some_dict if value == f_value]

我认为这是我们可以做的最短的