从含有时间的list找到第一次大于某个时间元素的位置
时间: 2023-09-16 09:12:55 浏览: 103
要找到列表中第一个大于某个时间的元素的位置,您可以使用以下代码:
```python
from datetime import datetime
def find_first_greater_time_index(times, target_time):
target_datetime = datetime.strptime(target_time, '%Y-%m-%d %H:%M:%S')
for index, time in enumerate(times):
time_datetime = datetime.strptime(time, '%Y-%m-%d %H:%M:%S')
if time_datetime > target_datetime:
return index
return -1
times = ['2022-01-01 10:00:00', '2022-01-01 11:00:00', '2022-01-01 12:00:00', '2022-01-01 13:00:00']
target_time = '2022-01-01 11:30:00'
first_greater_index = find_first_greater_time_index(times, target_time)
print(first_greater_index)
```
在这个例子中,我们定义了一个`find_first_greater_time_index`函数,它接受一个时间列表和目标时间作为参数。我们将目标时间转换为`datetime`对象,并在循环中逐个比较列表中的时间。如果找到第一个大于目标时间的元素,我们返回其索引位置。如果没有找到这样的元素,则返回-1。
在上面的示例中,列表`times`包含了几个时间元素,我们要找到第一个大于目标时间`'2022-01-01 11:30:00'`的元素的位置。输出结果将是`2`,表示在索引位置2处找到了第一个大于目标时间的元素。
您可以根据需要修改时间列表和目标时间,并使用上述代码来找到第一个大于目标时间的元素的位置。
阅读全文