You are viewing a single comment's thread from:

RE: Python的差集運算 - 何者更快?

in #cn7 years ago

在python上所有set的object都是用hash表來達成的。
關於a[i] in b,如果b是set,那就一步做完 ( O(1) );如果b是list,那就要逐個查看 ( O(n) )

Reference: https://wiki.python.org/moin/TimeComplexity

所以簡單來說,我猜你當初是打算用list的(?) ,那麼即使用上 'in',也等同於逐個查看,所以也是慢很多啦

我猜python的set difference就是這樣的:
for every element in a:
if a[i] is not in b then copy a[i] to c

粗暴的方法也好啊,但是我不太懂python,懶得學,所以就要交給你啦 XD