Voglio dire che due dizionari Python sono uguali (ciò significa: uguale quantità di chiavi e ogni mappatura da chiave a valore è uguale, l'ordine non è importante). Un modo semplice sarebbe assert A==B
, tuttavia, questo non funziona se i valori dei dizionari sono numpy arrays
. Come posso scrivere una funzione per verificare in generale se due dizionari sono uguali?Confronto di due dizionari con matrici numpy come valori
>>> 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()
EDIT sono consapevole che le matrici NumPy devono essere controllati per l'uguaglianza con .all()
. Quello che sto cercando è un modo generale per verificare questo, senza dover controllare isinstance(np.ndarray)
. Sarebbe possibile?
Argomenti correlati senza array NumPy:
Penso che si dovrebbe fare 'A [1] .Tutte() == B [1] .Tutte()' – EdChum