我想要断定两个Python字典是相等的(这意味着:等量密钥,和从关键值每个映射是相等;顺序并不重要)。一个简单的办法是assert A==B
,但是,如果字典的值是numpy arrays
这不起作用。如何编写一个函数来检查一般两个字典是否相等?比较两个字典与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()
编辑我知道numpy的矩阵应检查其平等.all()
。我正在寻找的是检查此的一般方法,而不必检查isinstance(np.ndarray)
。这可能吗?
相关信息不numpy的数组:
我认为你应该做的'A [1]。所有()== B [1]。所有()' – EdChum 2014-10-17 08:28:37