最近,我在研究一些Python模块,以了解它们的行为和实现的优化程度。请问有谁能告诉我Python使用哪种算法来执行集合差异操作?实现集合差异的一种可能方法是使用哈希表,这将涉及额外的N空间。我尝试查找集合操作的源代码,但我找不到代码位置。请帮忙。
c = a.difference(b)
:1)c = {x for x in a if x not in b}
;2)c = {x for x in b if x not in a}
;3)c = copy(a); for x in b: c.remove(x)
;4)c = copy(b); for x in a: c.remove(x)
。如果两个集合中有一个比另一个大得多,那么这些方法根本不等价。 - Stef