[英]Remove duplicates in nested list (without removing duplicated elements in sublists)
[英]how to remove duplicated elements from a list without using set()?
讓
a = np.array([1, 1, 1,1,1,1])
b = np.array([2,2,2])
是兩個 numpy arrays。 然后讓
c = [a]+[b]+[b]
顯然, c
有重復的元素b
。 現在我想從c
中刪除一個數組b
以便c
只包含一個a
和一個b
為了刪除列表中的重復元素,我通常使用set()
。 但是,如果這一次,我這樣做
set(c)
我會收到類似的錯誤
TypeError: unhashable type: 'numpy.ndarray'
據我了解, numpy.ndarray
不可散列。
上面的列表c
只是一個例子,實際上我的c
可能很長。 那么,有沒有什么好方法可以從 numpy.array 列表中刪除重復元素?
謝謝!
編輯:我希望我的回報是c = [a]+[b]
我認為這個問題與下面的問題相同。
從 numPy arrays 列表中刪除重復項
import numpy as np
a = np.array([1, 1, 1,1,1,1])
b = np.array([2,2,2])
arraylist = [a, b, b]
L = {array.tostring(): array for array in arraylist}
c = [v for v in L.values()]
c
結果 c:
[array([1, 1, 1, 1, 1, 1]), array([2, 2, 2])]
你可以用這個
c = a.tolist() + b.tolist() + b.tolist()
接着
c = set(c)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.