我有numpy數組列表的名爲A和B的兩個列表,我想檢查A中的每個列表,B中存在的列表是相同(包含相同的數組)。Pythonic的方式來檢查是否兩個列表的列表是相等的
下面是一個例子。
A = [[np.array([5,2]),np.array([6,7,8])],[np.array([1,2,3])]]
B = [[np.array([1,2,3])],[np.array([6,7,8]),np.array([5,2])]]
基本上,我想知道是否有pythonic /優雅的方式來編寫函數f(A,B)== True。
爲什麼它應該是真的?
A [0] = [np.array([5,2]),np.array([6,7,8])]。 B [1] = [np.array([6,7,8]),np.array([5,2])]
A [0]和B [1] ]都包含完全相同的一組矢量:np.array([6,7,8]),np.array([5,2])。
A [1] = [np.array([1,2,3])]。 B中有一個匹配列表。
B [0] = [np.array([1,2,3])]。
因此,返回True。
一些上下文:
- A和B是相同的數據的兩個聚類。
- A和B具有相同數量的簇,所以A和B的長度相同。
- A [0]是表示屬於A聚類中的第0個聚類的所有向量的數組列表。
基本上,我想檢查A和B是否將數據聚集到相同的簇中。我不確定我是否可以簡單比較A [i]和B [i]。
我嘗試了以下解決方案:a = [np.array([5,2]),np.array([6,7,8])]和b = [np.array([6,7 ,8]),np.array([5,2])]。但是,它返回False,而我希望它返回True。 a和b都包含相同的向量,所以我想返回True。 – mkim123