我想要确认两个Python字典是否相等(即:键的数量相等,并且每个键值对应的映射值相等;顺序不重要)。一种简单的方法是使用
assert A==B
,但是如果字典的值为numpy数组
,则此方法不起作用。我该如何编写一个通用的函数来检查两个字典是否相等?>>> import numpy as np
>>> A = {1: np.identity(5)}
>>> B = {1: np.identity(5) + np.ones([5,5])}
>>> A == B
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
编辑 我知道应该使用.all()
检查numpy矩阵是否相等。我想找到一种通用的方法来检查它们,而不必检查isinstance(np.ndarray)
。这可能吗?
与numpy数组无关的相关主题: