sib*_*ert 0 python dictionary list
所以这与之前发布的较短问题有关:在字典中按值获取密钥
我修改了值为lists 的示例int.说我有这个,
mydict = {'george':[1,2,3],'amber':[18,19]}
Run Code Online (Sandbox Code Playgroud)
然后我可以输出"amber":
print(list(mydict.keys())[list(mydict.values()).index([18,19])])
Run Code Online (Sandbox Code Playgroud)
有没有办法调整这个,所以我可以"amber"通过"询问"列表中的一个项目输出?ieeg 19?
简介:我想问我的字典:"给我一个有价值的密钥(列表)项目"19"
使用带有条件的列表推导
>>> mydict = {'george':[1,2,3],'amber':[18,19]}
>>> [i for i in mydict if 19 in mydict[i]]
['amber']
Run Code Online (Sandbox Code Playgroud)
在这里,您将获得列表中包含项目19的所有键的列表.
如果您只想要第一个可以使用的元素 [i for i in mydict if 19 in mydict[i]][0]
另一种创新方式是使用 filter
>>> filter(lambda x: 19 in x[1], mydict.items())
[('amber', [18, 19])]
Run Code Online (Sandbox Code Playgroud)
请注意,在这里您可以获得密钥和值.