我想要斷定兩個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