我目前正在处理一些非常大的信息列表(50 到 1 亿个条目),其中列表中的每个项目都采用 [float,(string_1,string_2)] 的形式
我以未排序的方式将元素添加到列表中,并且最终希望有一个按浮点值排序的列表。例如,我会有一个如下所示的列表:
[ [0.5,(A,B)], [-0.15,(B,C)], [0.3,(A,C)], [-0.8,(A,D)] ]
然后排序得到
[ [0.5,(A,B)], [0.3,(A,C)], [-0.15,(B,C)], [-0.8,(A,D)] ]
目前,我正在使用 heapq 来添加项目,然后使用排序(堆)最终给出我需要的列表。我的问题是:是否有更好的方法可以将数百万个项目添加到列表中并对它们进行排序,并且不会使我的计算机崩溃?持有这么长的列表然后对其进行排序会导致我的 RAM 出现一些问题。