【发布时间】:2017-01-31 14:36:06
【问题描述】:
我有一个巨大的 python 列表,大约 100 MB 大小的字符串和整数。我有一些字符串作为三重和重复。我尝试使用此代码删除重复项:
from collections import OrderedDict
duplicates = [.......large size list of 100 MB....]
remove = OrderedDict.fromkeys(duplicates).keys()
print remove
我已经完成了小尺寸列表,效果很好,对于这个大列表,我花了一整天的时间,但还没有完成。关于如何在几分钟内完成此操作的任何建议,..fewer hrs??。我已经尝试在 Ubuntu 中安装 CUDA 来解决它,但我不断收到错误:请参阅 here
【问题讨论】:
-
您的意思是要删除所有重复项还是仅删除其他。说我给你
[a,b,a,c,a]。你想要[a,b,c]还是[b,c]? -
这听起来像是一个奇怪的操作,想在列表上做。您确定要使用
list吗?如果您使用不同的数据结构(例如集合),这种操作将是微不足道的。 -
@willem,如果我有 ['a','b','a','c',],我想要 ['a','b','c',]
-
@kevin,我试了一套同样长的时间
-
您需要保留订单吗?如果没有,请使用
remove = set(duplicates)如果订单很重要,正如 Raymond Hettinger 所说,没有比您正在做的更快的方法了:stackoverflow.com/questions/480214/…
标签: python python-2.7 list