我正处于一个我一直在工作的项目的最后阶段。一切都很顺利,但是我有一个瓶颈问题,我无法解决。
我有一个元组列表。该列表长度范围从 40,000 到 1,000,000 条记录不等。现在我有一个字典,其中每个 (value, key) 对都是列表中的一个元组。
所以,我可能会有以下情况:
myList = [(20000, 11), (16000, 4), (14000, 9)...]
myDict = {11:20000, 9:14000, ...}
我想从列表中删除每个(v, k)元组。
目前我正在做:
for k, v in myDict.iteritems():
myList.remove((v, k))
从包含20,000个元组的列表中删除838个元组需要3-4秒钟。我很可能要从1,000,000个元组的列表中删除更多,因此需要更快的方法。
有更好的方法吗?
如果需要,我可以提供用于测试的代码以及实际应用程序的pickled数据。