检查字典中是否所有值都作为键存在

2024-06-01 05:27:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个值列表和一本字典。我要确保列表中的每个值都作为字典中的键存在。目前我使用两个集合来判断字典中是否不存在任何值

unmapped = set(foo) - set(bar.keys())

有没有更像Python的方法来测试这个呢?感觉有点像黑客?在


Tags: 方法列表字典foobarkeysset感觉
2条回答

您的方法可以工作,但是,从转换到set会有开销。在

另一种具有相同时间复杂性的解决方案是:

all(i in bar for i in foo)

它们都具有时间复杂性O(len(foo))

^{pr2}$

这里的开销有很大的不同,所以我选择all。在

请尝试此操作以查看是否有任何未映射的项:

has_unmapped = all( (x in bar) for x in foo   )

要查看未映射的项目:

^{pr2}$

相关问题 更多 >