gpt4 book ai didi

python - 在 2 个列表中查找最接近的日期时间

转载 作者:行者123 更新时间:2023-12-01 02:22:57 25 4
gpt4 key购买 nike

我有 2 个列表(示例如下,但实际列表中每个列表有 100 多个):

ListA = [29/11/2017 03:44:42, 23/11/2017 07:36:35, etc....]
ListB = [12/09/2017 02:00:34, 12/05/2017 14:00:25, etc....]

我试图遍历 ListA 中的每个元素,并找出 ListB 中的哪个元素最接近该日期。不过我正在努力做到这一点。

我首先确保两个列表元素都是日期时间对象。

但在此之后,我一直陷入困境......我可能想错了。

for i in ListA:
closestTimestamp = min(key, key=lambda datetime: abs(timestamp - [j for j in ListB]))

它表示 key 未定义。我对 Python 很陌生,如果这是一个愚蠢的问题,我深表歉意。

最佳答案

您应该将一个可迭代(例如ListB)和一个关键函数传递给 min() 。试试这个:

for a in ListA:
closestTimestamp = min(listB, key=lambda b: abs(a-b))

顺便说一句,这个解决方案的时间复杂度是O(nm),对于较大的列表来说可能会很慢。在这种情况下,请考虑使用 binary search O(nlogm) 复杂度。

关于python - 在 2 个列表中查找最接近的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47770599/

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