Python 2选择具有值的键
我想用它的值来选择一个键。 我知道价值是什么,但我不知道关键是什么。 假设我要选择的键的值是15,在我的例子中,值和键都是整数,有6个不同的键。我想得到值为15的键的编号名称。 我不知道这是否可能,但如果不可能,请告诉我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
提前谢谢 最简单的方法是迭代整个字典并提取匹配值的所有键:
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)