我有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