Python 删除json对象数组中的重复项

Python 删除json对象数组中的重复项,python,performance,Python,Performance,我有一个json对象,包含大约600万个条目,其中一些是重复的。当前要删除重复项,我正在执行以下操作: clean = [] for item in new: if item not in clean: clean.append(item) 不幸的是,这是一个糟糕的方法,所以它需要永远这样做。尝试转换为集合时也会出现错误,因为json对象中的项没有嵌套。有什么好的、快速的方法可以做到这一点 示例数据: new = [ {'Volume': 'S3', 'LastModified

我有一个json对象,包含大约600万个条目,其中一些是重复的。当前要删除重复项,我正在执行以下操作:

clean = []
for item in new:
    if item not in clean: clean.append(item)
不幸的是,这是一个糟糕的方法,所以它需要永远这样做。尝试转换为
集合
时也会出现错误,因为json对象中的项没有嵌套。有什么好的、快速的方法可以做到这一点

示例数据:

new = [
    {'Volume': 'S3', 'LastModified': u'2015-02-04 11:04:59', 'Bucket': 'varx-assets', 'Key': 'Quince/4', 'Size': 0},
    {...}, 
    ...
]

我能想到的最快的(不使用外部模块或类似的)是:

与熊猫相比,速度大约是熊猫的两倍:

>>> t0=time.time();x=pd.DataFrame(new).drop_duplicates().to_dict(orient='records');print time.time()-t0
# 51.7240169048

״给我一个错误,因为json对象中的项目没有嵌套״我不清楚,你能提供一个
new
的示例输入,并显示使用
set
的代码,以便我们可以重新编程吗?(或者换句话说,提供MCVE)你可以分享你的数据样本吗?@NirAlfasi updated.@David542你的意思是如果我们必须使用相同的项目,它们仍然会被视为不同的,因为它们是不同的对象吗?好主意,加载到熊猫数据框中并删除重复项
>>> t0=time.time();x=pd.DataFrame(new).drop_duplicates().to_dict(orient='records');print time.time()-t0
# 51.7240169048