Python 如何从字典中计算时间增量对
我在“%H:%M:%S”中有一个具有timedelta类型键值对的字典 i、 e 我想做的是计算每对的键和值之间的差异,并将这些差异保存到列表中 i、 e.对于第一对Python 如何从字典中计算时间增量对,python,datetime,dictionary,Python,Datetime,Dictionary,我在“%H:%M:%S”中有一个具有timedelta类型键值对的字典 i、 e 我想做的是计算每对的键和值之间的差异,并将这些差异保存到列表中 i、 e.对于第一对'0:40:10'-'0:00:12' 计算'0:40:10'-'0:00:12' 即0:39:58,然后将其保存到myList,使myList看起来像: myList = ['0:39:58', 'difference-for-pair-2', 'difference-for-pair-3' ... ] 我尽可能地 FMT='%
'0:40:10'-'0:00:12'
计算'0:40:10'-'0:00:12'
即0:39:58
,然后将其保存到myList,使myList看起来像:
myList = ['0:39:58', 'difference-for-pair-2', 'difference-for-pair-3' ... ]
我尽可能地
FMT='%H:%M:%S'
for key, value in myDict.iteritems():
print datetime.strptime(value, FMT) - datetime.strptime(key, FMT)
这会打印出我想要的时间差异,如:
0:02:05
0:02:57
0:00:31
...
这是正确的,但我不知道如何将这些值保存到列表中,而不仅仅是在屏幕上打印
我如何做到这一点?使用
结合@wim@user35269和@RandyTek的答案 这是最后的代码。请注意,将datetime对象转换为字符串将提供所需的输出,以便以后保存或打印:
from datetime import datetime
myDict = {'0:00:12': '0:40:10', '0:00:18': '0:04:58', '0:00:50': '0:02:35'}
FMT = '%H:%M:%S'
results = []
for key, value in myDict.iteritems():
result = datetime.strptime(value, FMT) - datetime.strptime(key, FMT)
results.append(str(result))
print results
下面是它的外观:
['0:04:40', '0:39:58', '0:01:45']
您没有日期组件吗?根据使用情况,简单地区分时间是非常危险的,因为这两点可能相隔数月。
from datetime import datetime
myDict = {'0:00:12': '0:40:10', '0:00:18': '0:04:58', '0:00:50': '0:02:35'}
FMT = '%H:%M:%S'
results = []
for key, value in myDict.iteritems():
result = datetime.strptime(value, FMT) - datetime.strptime(key, FMT)
results.append(str(result))
print results
['0:04:40', '0:39:58', '0:01:45']