Python - 比较列表元素(如果存在)

Python - Compare list element if exist

我有一个很大的 table 数百万对整数 [[1,2]、[45,101]、[22,222] 等...]。 Python 中删除重复项的最快方法是什么?

创建空列表并将其附加到“如果不在”中是行不通的,因为这需要很长时间。转换为 Numpy 并使用“isin”我似乎无法让它成对工作。

可能会是这样的:list(set(my_list))

编辑:糟糕。无论如何,如果迭代所述列表的任何东西都可以执行检测重复项的任务,那将比预先删除重复项更快。

您可以使用 np.unique():

np.unique([[1,2],[45,101],[22,222],[22,222]], axis=0)

输出:

array([[  1,   2],
       [ 22, 222],
       [ 45, 101]])

注意这个re-orders列表

您可以执行以下操作

arr = [[1,2],[45,101],[22,222], [1,2]]

arr = set(tuple(i) for i in arr)

如果你想把它转换回列表

arr = [list(i) for i in arr]