Давайте предположим, что у вас есть два существующих словарей A
и B
Поиск ближайших возможных значений из двух словарей
Если вы уже остановили свой выбор на первые два элементов из словарей A
и B
со значениями A1 = 1.0
и B1 = 2.0
, соответственно, есть ли способ найти любые два разных существующих предмета в словарях A
и B
, каждый из которых имеет разные значения (то есть A2
и B2
) от A1
и B1
, а также минимизирует значение (A2-A1)**2 + (B2-B1)**2
?
Количество элементов в словаре нефиксировано и может превышать 100 000.
Edit - Это важно: ключи для A
и B
одинаковы, но значения, соответствующие этим ключам в A
и B
различны. Определенный выбор ключа даст упорядоченную пару (A1, B1), которая отличается от любой другой возможной пары ордеров (A2, B2) - разные ключи имеют разные пары ордеров. Например, оба A
и B
будут иметь ключ 3,4
, и это даст значение 1.0
для dict A
и 2.0
для B
. Затем этот один ключ сравнивается с любым другим ключом, который может найти другую упорядоченную пару (то есть как ключ, так и значения элементов в A
и B
), что минимизирует квадраты различий между ними.
Ваш вопрос не заполнен. Вам небезразличны, какие соответствующие клавиши относятся к A2 и B2? Вам просто нужны ценности? Если A2 и B2 появляются более одного раза, вам нужно вернуть список всех ключей? Ozgur (который, кажется, удалил свой комментарий) находится на правильном пути, но вы будете сортировать по значениям. –
@MaxWen Я не обязательно указываю, какие ключи сами по себе могут варьироваться.Обычно они будут упорядоченными парами формы 'j, k', где j и k - целые числа, но это не является строгим требованием для моего вопроса. Будет оценен более общий подход. Основное значение имеет поиск предметов в словарях с близкими, но не одинаковыми значениями. Требуется возврат двух ключей из 'A' и' B' с ближайшим значением в 'A1' и' B1'. Да, я думал, что потребуется какой-то метод сортировки, но любые особенно эффективные методы будут очень полезны. – Mathews24
@MaxWen Чтобы добавить, все ключи в словаре уже известны. Хотя элемент (то есть его ключ и значение) со значением, самым близким к A1 и B1, как указано выше, запрашивается. Я также сделал редактирование, так что никакой выбор ключей не может дать те же два значения, что и A2 и B2, так как ключи, рассмотренные во время сравнения, одинаковы. Я могу привести пример, если это будет более ясным. – Mathews24