改进此代码的最佳方法是什么:
def my_func(x, y):
... do smth ...
return cmp(x',y')
my_list = range(0, N)
my_list.sort(cmp=my_func)
与 numpy 数组(6800MB 与 700MB)相比,python 的列表需要大量内存,但 nympy.array 没有带有 cmp 参数的排序函数。
还有其他方法可以提高内存使用率或使用我的 cmp 函数对 numpy 的数组进行排序吗?
更新:我当前的解决方案是一个 C 函数(与 SWIG 共享),它对大量整数进行排序,并在排序后将其返回给 python。
但我希望有一些方法可以使用 Python 实现对巨大数据集的内存高效排序。有任何想法吗?