Nehmen wir an, Sie haben zwei vorhandene Wörterbücher A
und B
Finden der nächstmöglichen Werte von zwei Wörterbücher
Wenn Sie bereits einen ersten zwei Elemente aus Wörterbücher A
und B
mit Werten A1 = 1.0
und B1 = 2.0
wählen bzw. ist es eine Möglichkeit, um zwei verschiedene existierende Elemente in den Wörterbüchern A
und B
zu finden, die jeweils unterschiedliche Werte haben (dh A2
und B2
) von A1
und B1
, und würde auch den Wert (A2-A1)**2 + (B2-B1)**2
minimieren?
Die Anzahl der Elemente im Wörterbuch ist nicht festgelegt und kann 100.000 überschreiten.
Bearbeiten - Das ist wichtig: die Schlüssel für A
und B
sind die gleichen, aber die Werte für diese Schlüssel in A
und B
sind entsprechend unterschiedlich. Eine bestimmte Schlüsselwahl führt zu einem geordneten Paar (A1, B1), das sich von jedem anderen möglichen Paar (A2, B2) unterscheidet - verschiedene Schlüssel haben unterschiedliche Reihenfolgepaare. Zum Beispiel können sowohl A
und B
den Schlüssel 3,4
haben und dies wird einen Wert von 1.0
für dict A
und 2.0
für B
ergeben. Dieser eine Schlüssel wird dann mit jedem anderen Schlüssel verglichen, der möglich ist, das andere geordnete Paar zu finden (d. H. Sowohl den Schlüssel als auch die Werte der Gegenstände in A
und B
), der die quadrierten Unterschiede zwischen ihnen minimiert.
Ihre Frage ist nicht vollständig. Kümmert es Sie, was die entsprechenden Schlüssel zu A2 & B2 sind? Brauchst du nur die Werte? Wenn A2 & B2 mehr als einmal angezeigt werden, müssen Sie eine Liste aller Schlüssel zurückgeben? Ozgur (der seinen Kommentar anscheinend gelöscht hat) ist jedoch auf dem richtigen Weg, Sie werden nach Werten sortieren. –
@MaxWen Ich gebe nicht unbedingt an, was die Schlüssel selbst sind, da sie variieren können.Sie werden normalerweise Paare der Form "j, k" sein, wobei j und k ganze Zahlen sind, aber das ist keine strenge Voraussetzung für meine Frage. Ein allgemeinerer Ansatz wäre wünschenswert. Die Hauptaufgabe besteht darin, Elemente in den Wörterbüchern mit nahe - aber nicht denselben Werten zu finden. Es wird eine Rückkehr der zwei Schlüssel von "A" und "B" mit dem nächsten Wert zu "A1" und "B1" gesucht. Ja, ich dachte, eine Art Sortiermethode wäre notwendig, aber jede besonders effiziente Methode wäre sehr hilfreich. – Mathews24
@MaxWen Zum Hinzufügen sind alle Schlüssel im Wörterbuch bereits bekannt. Obwohl das Element (d. H. Sowohl sein Schlüssel als auch sein Wert) mit dem Wert, der A1 und B1 am ähnlichsten ist, wie oben spezifiziert, wird gesucht. Ich habe auch eine Änderung vorgenommen, so dass keine Auswahl von Schlüsseln die gleichen zwei Werte wie A2 und B2 geben kann, da die Schlüssel, die während eines Vergleichs berücksichtigt werden, gleich sind. Ich könnte ein Beispiel geben, wenn das klarer wäre. – Mathews24