2024-06-01 05:27:03 发布
网友
我有一个值列表和一本字典。我要确保列表中的每个值都作为字典中的键存在。目前我使用两个集合来判断字典中是否不存在任何值
unmapped = set(foo) - set(bar.keys())
有没有更像Python的方法来测试这个呢?感觉有点像黑客?在
您的方法可以工作,但是,从转换到set会有开销。在
set
另一种具有相同时间复杂性的解决方案是:
all(i in bar for i in foo)
它们都具有时间复杂性O(len(foo))
O(len(foo))
这里的开销有很大的不同,所以我选择all。在
all
请尝试此操作以查看是否有任何未映射的项:
has_unmapped = all( (x in bar) for x in foo )
要查看未映射的项目:
您的方法可以工作,但是,从转换到
set
会有开销。在另一种具有相同时间复杂性的解决方案是:
它们都具有时间复杂性
^{pr2}$O(len(foo))
这里的开销有很大的不同,所以我选择
all
。在请尝试此操作以查看是否有任何未映射的项:
要查看未映射的项目:
^{pr2}$相关问题 更多 >
编程相关推荐