例如,假设我们有以下字典:
dictionary = {'A':4,
'B':6,
'C':-2,
'D':-8}
给定它的值,如何打印某个键?
print(dictionary.get('A')) #This will print 4
你怎么能倒着做呢?即不是通过引用键来获取值,而是通过引用值来获取键。
例如,假设我们有以下字典:
dictionary = {'A':4,
'B':6,
'C':-2,
'D':-8}
给定它的值,如何打印某个键?
print(dictionary.get('A')) #This will print 4
你怎么能倒着做呢?即不是通过引用键来获取值,而是通过引用值来获取键。
我不相信有办法做到这一点。这不是字典的使用方式......相反,您必须做类似的事情。
for key, value in dictionary.items():
if 4 == value:
print key
在 Python 3 中:
# A simple dictionary
x = {'X':"yes", 'Y':"no", 'Z':"ok"}
# To print a specific key (for instance the 2nd key which is at position 1)
print([key for key in x.keys()][1])
输出:
Y
字典的组织方式是:key -> value
如果你尝试去:值 -> 键
然后你有一些问题;重复,有时字典包含您不希望将其作为键的大型(或不可散列的)对象。
但是,如果您仍然想这样做,您可以通过迭代 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()
target_key = 4
for i in dictionary:
if dictionary[i]==target_key:
print(i)
如果您必须在字典中找到最高 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)
嘿,我被这个问题困扰了很久,你所要做的就是用值交换密钥,例如
Dictionary = {'Bob':14}
你会把它改成
Dictionary ={1:'Bob'}
反之亦然,将键设置为值,将值设置为键,这样你就可以得到你想要的东西