Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2选择具有值的键_Python_Python 2.7_Dictionary_Key - Fatal编程技术网

Python 2选择具有值的键

Python 2选择具有值的键,python,python-2.7,dictionary,key,Python,Python 2.7,Dictionary,Key,我想用它的值来选择一个键。 我知道价值是什么,但我不知道关键是什么。 假设我要选择的键的值是15,在我的例子中,值和键都是整数,有6个不同的键。我想得到值为15的键的编号名称。 我不知道这是否可能,但如果不可能,请告诉我 提前谢谢 最简单的方法是迭代整个字典并提取匹配值的所有键: d = {15 : 15, 6 : 15, 7: 12} keys = [] for key, value in d.iteritems(): if value == 15: keys.app

我想用它的值来选择一个键。 我知道价值是什么,但我不知道关键是什么。 假设我要选择的键的值是15,在我的例子中,值和键都是整数,有6个不同的键。我想得到值为15的键的编号名称。 我不知道这是否可能,但如果不可能,请告诉我


提前谢谢

最简单的方法是迭代整个字典并提取匹配值的所有键:

d = {15 : 15, 6 : 15, 7: 12}
keys = [] 
for key, value in d.iteritems():
    if value == 15:
        keys.append(key)
键现在应该是[15,6]

注:

这只适用于3之前的Python版本,您所需要的只是和:

如果您知道该值只有一个键,请使用:


我想我实施得不对。这是我得到的错误:回溯最近的调用最后:文件C:/Users/XXXXXX/PycharmProjects/XXXX/XXXX.py,第22行,在key=nextkey中为key,如果value=15,则在fotoWaardes.items中为valueStopIteration@DavidWestern这意味着不存在这样的元素。我添加了一个默认值,所以它返回None而不是引发异常。有没有办法将key更改为整数?我尝试了int,但似乎不起作用。@DavidWestern这取决于实际键的值。它是什么?每次都会改变,但它总是一位数。
keys = [key for key, value in d.items() if value == 15]
key = next((key for key, value in d.items() if value == 15), None)