我正在尝试对整数进行大量简单的“交集”操作。不幸的是,我在设置中没有可用的 numpy/scipy,我无法更改它。
我在 stackoverflow 上注意到 Python 集合操作很好地对数据进行了排序,这不仅加快了案例的加载速度,而且在我的情况下,我实际上也想对数据进行排序,因此这将是一个很棒的奖励。
我现在只是害怕它并不总是有效,所以我去测试:
import random
one = range(100)
two = range(50)
three = range(50)
for i in xrange(1000000):
# shuffle the lists
random.shuffle(one)
random.shuffle(two)
# do set operation
res = [v for v in set(one) & set(two)]
if res != three:
print res
结果是所有样本都被排序(没有打印错误的案例)。
虽然这很有说服力,但我想知道在使用集合交集时是否会出现整数未完全排序的情况?