Ich möchte feststellen, dass zwei Python-Wörterbücher gleich sind (das heißt: gleiche Anzahl von Schlüsseln, und jede Zuordnung von Schlüssel zu Wert ist gleich; Reihenfolge ist nicht wichtig). Ein einfacher Weg wäre assert A==B
, dies funktioniert jedoch nicht, wenn die Werte der Wörterbücher numpy arrays
sind. Wie kann ich allgemein eine Funktion schreiben, um zu prüfen, ob zwei Wörterbücher gleich sind?Vergleichen zweier Wörterbücher mit numpy Matrizen als Werte
>>> 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 Ich bin mir bewusst, dass numpy Matrizen werden mit .all()
auf Gleichheit geprüft werden. Was ich suche, ist eine allgemeine Möglichkeit, dies zu überprüfen, ohne zu überprüfen isinstance(np.ndarray)
. Wäre das möglich?
Verwandte Themen ohne numpy Arrays:
Ich glaube, du vermeintlichen zu tun A [1] .all() == B [1] .all() ' – EdChum