我有一張大表,有幾百萬對整數 [[1,2]、[45,101]、[22,222] 等。]。Python中洗掉重復項的最快方法是什么?
創建空串列并將其附加到“如果不在”中是行不通的,因為它需要很長時間。轉換為 Numpy 并使用“isin”我似乎無法讓它成對作業。
uj5u.com熱心網友回復:
您可以執行以下操作
arr = [[1,2],[45,101],[22,222], [1,2]]
arr = set(tuple(i) for i in arr)
如果您想將其轉換回串列
arr = [list(i) for i in arr]
uj5u.com熱心網友回復:
你可以使用np.unique():
np.unique([[1,2],[45,101],[22,222],[22,222]], axis=0)
輸出:
array([[ 1, 2],
[ 22, 222],
[ 45, 101]])
請注意,這會重新排序串列
uj5u.com熱心網友回復:
大概會是這樣的:list(set(my_list))
編輯:哎呀。在任何情況下,如果遍歷所述串列的任何內容都可以執行檢測重復項的任務,那將比預先洗掉重復項更快。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/485812.html
上一篇:查找單鏈表中的最后一個K
下一篇:我正在嘗試通過使用For回圈而不是最差的時間和空間復雜度來解決Python中的三個數字總和,我想用它來更好地理解
