例如,假设我们有以下字典:
dictionary = {'A':4,
'B':6,
'C':-2,
'D':-8}
如何根据其价值打印某个密钥?
print(dictionary.get('A')) #This will print 4
你怎么能倒退呢?即,不是通过引用键来获取值,而是通过引用值来获取键。
答案 0 :(得分:14)
我不相信有办法做到这一点。这不是一本字典的用途...... 相反,你必须做类似的事情。
for key, value in dictionary.items():
if 4 == value:
print key
答案 1 :(得分:1)
字典的组织方式为:key - >价值
如果您尝试去:值 - >键
然后你有一些问题;重复,有时候字典会保存您不希望作为密钥的大型(或不可用)对象。
但是,如果您仍想这样做,可以通过迭代dicts键和值并按如下方式匹配它们来轻松完成:
def method(dict, value):
for k, v in dict.iteritems():
if v == value:
yield k
# this is an iterator, example:
>>> d = {'a':1, 'b':2}
>>> for r in method(d, 2):
print r
b
如评论中所述,整个事情可以写成生成器表达式:
def method(dict, value):
return (k for k,v in dict.iteritems() if v == value)
Python版本注意:在Python 3+中,您可以使用dict.items()
代替dict.iteritems()
答案 2 :(得分:0)
在Python 3中:
# A simple dictionary
x = {'X':"yes", 'Y':"no", 'Z':"ok"}
# To print a specific key (for instancethe 2nd key which is at position 1)
print([key for key in x.keys()][1])
输出:
Y
答案 3 :(得分:0)
target_key = 4
for i in dictionary:
if dictionary[i]==target_key:
print(i)
答案 4 :(得分:0)
在字典中,如果您必须找到最高VALUE的KEY,请执行以下操作:
此代码的可视化分析器可在以下链接中找到:LINK
dictionary = {'A':4,
'B':6,
'C':-2,
'D':-8}
lis=dictionary.values()
print(max(lis))
for key,val in dictionary.items() :
if val == max(lis) :
print("The highest KEY in the dictionary is ",key)
答案 5 :(得分:-1)
嘿,我在这个问题上久违了,您所要做的就是将键交换为例如
的值。Dictionary = {'Bob':14}
您将其更改为
Dictionary ={1:'Bob'}
反之亦然,将键设置为值,并将值设置为键,这样您就可以得到想要的东西