如果值是列表,则按值获取字典键

西伯特

因此,这与前面发布的一个较短的问题有关:按字典中的值获取键

我修改了一个示例,将值设为listint说我有这个

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章