Как найти разницу во времени если значения времени это value словаря?

a = {'SVF2018-05-24': '12:02:58.917', 'NHR2018-05-24': '12:02:49.914', 'FAM2018-05-24': '12:13:04.512'}
b = {'SVF2018-05-24': '12:05:58.778 ', 'NHR2018-05-24': '12:06:27.441', 'SPF2018-05-24': '12:13:13.883'}
finish = {}
for i, x in a.items():
    for j, k in b.items():
        if i == j:
            key = j
            d1 = datetime.strptime(x, "%H:%M:%S.%f")
            d2 = datetime.strptime(k, "%H:%M:%S.%f")
            val = str(d2 - d1)
            finish.update({key: val})

Делаю так, ругается

Traceback (most recent call last):
  File "D:\FoxMinded\Task_6\report_1.py", line 23, in <module>
    d2 = datetime.strptime(k, "%H:%M:%S.%f")
  File "D:\Python\lib\_strptime.py", line 568, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File "D:\Python\lib\_strptime.py", line 352, in _strptime
    raise ValueError("unconverted data remains: %s" %
ValueError: unconverted data remains:  

если вывожу отдельно d1 и d2 то:

1900-01-01 12:02:58.917000
1900-01-01 12:04:03.332000
1900-01-01 12:02:49.914000
1900-01-01 12:04:02.979000
1900-01-01 12:13:04.512000
1900-01-01 12:14:17.169000
1900-01-01 12:03:01.250000
1900-01-01 12:04:13.889000
1900-01-01 12:18:37.735000
1900-01-01 12:19:50.198000
1900-01-01 12:04:45.513000
Traceback (most recent call last):
  File "D:\FoxMinded\Task_6\report_1.py", line 24, in <module>
    d2 = datetime.strptime(k, "%H:%M:%S.%f")
  File "D:\Python\lib\_strptime.py", line 568, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File "D:\Python\lib\_strptime.py", line 352, in _strptime
    raise ValueError("unconverted data remains: %s" %
ValueError: unconverted data remains:  

Ответы (0 шт):