gpt4 book ai didi

python - 找到最接近给定时间戳的时间戳(从字典数组中)

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:37 25 4
gpt4 key购买 nike

具有以下字典列表,其中包括时间戳(字符串值)和值:

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}]

我想要给定的时间戳值(字符串格式),找到最接近的值。

这意味着:

  • 如果 given_timestamp 是 2009-11-10T23:00:02Z 我想返回:{'timestamp': '2009-11-10T23:00:01Z', 'value ': 1}
  • 如果 given_timestamp 是 2009-11-10T23:00:04Z 我想返回:{'timestamp': '2009-11-10T23:00:05Z', 'value ': 2}
  • 如果 given_timestamp 是 2009-11-10T23:00:15Z 我想返回:{'timestamp': '2009-11-10T23:00:15Z', 'value ': 3}

谁能帮我一把?

例如,我知道有一个内置函数可以使整数列表变得如此神奇,但我不知道如何让它与日期一起使用:

min(myList, key=lambda x:abs(x-myNumber))

提前致谢

最佳答案

使用datetime将字符串转换为datetime对象并使用min

例如:

import datetime
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}]

myNumber = "2009-11-10T23:00:02Z"
myNumber = datetime.datetime.strptime(myNumber, "%Y-%m-%dT%H:%M:%SZ")
print(min(my_example, key=lambda x:abs(datetime.datetime.strptime(x["timestamp"], "%Y-%m-%dT%H:%M:%SZ") - myNumber)))

关于python - 找到最接近给定时间戳的时间戳(从字典数组中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55418289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com