首页 > 解决方案 > 如何检查列表是否包含在python中字典的任何键中?

问题描述

大家好,我正在尝试检查列表的所有元素是否包含在字典的任何键中,只要它们在同一个键上,例如;

dict = {1:{1,2,3,4,5,6},2:{10,2,9,8,5,7},3:{11,9,3,13},4:{12,8,4,13,14},}

我有这 3 个清单

[1,2,9],[2,9,8],[9,8,12]

只有第二个列表应该返回 true,因为它的值包含在字典的键 2 中,其他列表都应该返回 false

有人可以帮助找到一种方法吗?

标签: pythonlistdictionary

解决方案


您可以将嵌套列表推导与any和设置操作一起使用。

d = {1:{1,2,3,4,5,6},2:{10,2,9,8,5,7},3:{11,9,3,13},4:{12,8,4,13,14},}

to_check = [1,2,9],[2,9,8],[9,8,12]

res = [any(j.issuperset(i) for j in d.values()) for i in to_check]

输出

[False, True, False]

推荐阅读