У меня есть словарь myDict
{'1': 5, '2': 13, '3': 23, '4': 17}
Я использую этот код, который хорошо мне помог, чтобы найти ключ / значение в myDict
, ближайшем к targetVal
answer = key, value = min(myDict.items(), key=lambda (_, v): abs(v - targetVal))
Предполагая, что targetVal
равно 14
, answer
возвращает:
('2': 13)
Теперь мне нужно иметь дело с идентичными значениями в myDict
.Например, если myDict
было теперь:
{'1': 5, '2': 13, '3': 23, '4': 13}
, мне нужны обе эти пары ключ / значение со значением 13
.В тех случаях, когда код (выше) находит ближайшее значение в myDict
, и это значение появляется более одного раза, я хотел бы создать новый словарь.В этом случае answer
вернет:
{'2': 13, '4': 13}
Можно ли обновить способ обнаружения answer
для учета случаев, когда ближайшее значение появляется более одного раза?