这两种方法哪一种更快?是否有一种“更好”的方法?基本上我有两个集合,最终想从这两个列表中得到一个匹配项。所以实际上,我的for循环更像是:
for object in set:
if object in other_set:
return object
就像我说的一样 - 我只需要一个匹配项,但我不确定如何处理intersection()
,所以我不知道它是否更好。此外,如果有帮助的话,other_set
是一个近10万个组件的列表,而set
可能只有几百个,最多几千个。
intersection
会一直寻找,直到找到所有匹配项,但另一方面,intersection
是用C实现的,所以实际代码运行速度更快。 - Thomas Kfilter(other_set.__contains__, some_set)
和差异filter(lambda x: other_set.__contains__(x), some_set)
。 - 0 _