【发布时间】:2013-07-16 20:06:00
【问题描述】:
我有一个从网络日志中提取的时间值的 python 列表。我有%H:%M:%S 格式的列表。如何按升序对时间值进行排序?
【问题讨论】:
我有一个从网络日志中提取的时间值的 python 列表。我有%H:%M:%S 格式的列表。如何按升序对时间值进行排序?
【问题讨论】:
只需 sorted(time_list) 即可。
>>> sorted(["14:10:01", "03:12:08"])
["03:12:08", "14:10:01"]
【讨论】:
import time
sorted((time.strptime(d, "%H:%M:%S") for d in time_list), reverse=True)
【讨论】:
sorted([tuple(map(int, d.split(":"))) for d in my_time_list])
my_time_list 中的每个元素都是您描述的形式,例如:
>>> my_time_list
["03:12:08", "14:10:01"]
【讨论】:
key 参数来执行此操作以不更改值:sorted(my_time_list, key=lambda d: tuple(map(int, d.split(":"))))
您应该可以使用方法sort(key=str.lower),因为您的时间被解析为字符串
【讨论】: