Имея следующий список словарей, который включает отметку времени (в строковом значении) и значение:
my_example = [{'timestamp': '2009-11-10T23:00:01Z', 'value': 1}, {'timestamp': '2009-11-10T23:00:05Z', 'value': 2}, {'timestamp': '2009-11-10T23:00:20Z', 'value': 3}]
Я хочу для заданного значения отметки времени (в строковом формате) найти ближайшее значение.
Это означает, что:
- Если значение данного времени равно
2009-11-10T23:00:02Z
Я хочу вернуть: {'timestamp': '2009-11-10T23:00:01Z', 'value': 1}
- Если значение данного времени равно
2009-11-10T23:00:04Z
Я хочуreturn: {'timestamp': '2009-11-10T23:00:05Z', 'value': 2}
- Если значение данного_время
2009-11-10T23:00:15Z
Я хочу вернуть: {'timestamp': '2009-11-10T23:00:15Z', 'value': 3}
и т. д.
Может кто-нибудь помочь мне?
Я знаю, что есть встроенная функция, которая делает это волшебство для списка целых чисел, например, но я не знаю, как заставить его работать с датами:
min(myList, key=lambda x:abs(x-myNumber))
.
Спасибозаранее