如何在几个值中获取一个键?
How to get a key among the several values?
我想从一个值中找到键。
但是,一个键有多个值。
我无法通过使用从值中查找键的典型方法找到键。
我已经尝试了 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'
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
避免使用关键字 dict
来命名您的词典。
您可以将字典 key -> values
反转为字典 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'
我想从一个值中找到键。 但是,一个键有多个值。
我无法通过使用从值中查找键的典型方法找到键。
我已经尝试了 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'
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
避免使用关键字 dict
来命名您的词典。
您可以将字典 key -> values
反转为字典 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'