0

我想从一个值中找到密钥。但是,一个键有几个值。

我无法通过使用从值中找到密钥的典型方式来找到密钥。

我已经尝试过 dict.items() 和 dict.iterms() 而不是 dict.iteritems()

但不起作用。

dict = {'key1': ["value1",  "value2"],
       'key2': ["value3", "value4"] }

l = list()
for k, v in dict.iteritems():
    if 'value3' in v:
        l.append(k)
print(l)

我喜欢从一个值中获取密钥。例如,如果我输入 'value3' 然后打印 'key2'

4

2 回答 2

1

避免使用关键字dict来命名您的字典。

您可以将 dict 反转为key -> valuesdict value -> key

>>> d = {'key1': ["value1",  "value2"], 'key2': ["value3", "value4"] }
>>> e = {v: k for k, vs in d.items() for v in vs}
>>> e
{'value1': 'key1', 'value2': 'key1', 'value3': 'key2', 'value4': 'key2'}
>>> e['value3']
'key2'
于 2019-05-06T14:42:56.460 回答
1

dict.items()绝对应该工作。

>>> foo = {'a': 'A', 'b': 'B'}
>>> foo.items()
dict_items([('a', 'A'), ('b', 'B')])
>>> for k, v in foo.items():
...   print(k, v)
...
a A
b B
于 2019-05-05T22:35:13.983 回答