因此,这与前面发布的一个较短的问题有关:按字典中的值获取键
我修改了一个示例,将值设为list
的int
。说我有这个
mydict = {'george':[1,2,3],'amber':[18,19]}
然后我可以"amber"
通过以下方式输出:
print(list(mydict.keys())[list(mydict.values()).index([18,19])])
有没有一种方法可以对此进行调整,以便我可以"amber"
通过“询问”列表中的一项来输出?ieeg 19
?
摘要:我想问一下我的字典:“给我在值(列表)中包含项“ 19”的键
结合条件使用列表理解
>>> mydict = {'george':[1,2,3],'amber':[18,19]}
>>> [i for i in mydict if 19 in mydict[i]]
['amber']
在这里,您将获得所有键的列表,该键的值中包含带有项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])]
请注意,在这里您同时获得了键和值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句