【发布时间】:2018-10-28 03:56:06
【问题描述】:
我这里有两个列表:
list1 = [u'2018-05-06T15:53:05.000-0400', '2018-05-06T17:53:05.000-0400']
list2 = [u'2018-05-06T15:32:24.000-0400', u'2018-05-06T15:32:29.000-0400', u'2018-05-06T15:32:36.000-0400', u'2018-05-06T15:53:05.000-0400', u'2018-05-06T16:42:41.000-0400', u'2018-05-10T00:16:12.000-0400', u'2018-05-10T00:16:23.000-0400', u'2018-05-12T17:37:42.000-0400']
我正在尝试比较两个列表中的元素,并返回 list1 中的元素 0 和 list2 中的元素 1 不同的最小值,例如:
for value1 in list1:
value1 = datetime.strptime(value1, '%Y-%m-%dT%H:%M:%S.000-0400')
for value2 in list2:
value2 = datetime.strptime(value2, '%Y-%m-%dT%H:%M:%S.000-0400')
if value1 < value2:
value3 = value2 - value1
list3.append(value3)
print list3
打印清单3 给我:
[datetime.timedelta(0, 2976), datetime.timedelta(3, 30187), datetime.timedelta(3, 30198), datetime.timedelta(6, 6277), datetime.timedelta(3, 22987), datetime .timedelta(3, 22998), datetime.timedelta(5, 85477)]
所有内容都在同一个列表中。
在list3[0] 中,我可以获得list1 中第一个元素的最小值,但是如果我在list1 中有元素3,我如何获得第二个元素list3[3] 的最小值并循环?
我想将list1 中第一个元素和第二个元素的比较结果列表分开,请告诉我如何实现这一点,非常感谢!
【问题讨论】:
-
您能否更好地澄清您的问题?鉴于您不能减去两个字符串,您的代码现在甚至无法工作。为 ex 提供预期输出
-
嗨 RafaelC,感谢您回复我,我进行了 striptime 转换,将 unicode 转换为 datatime 格式并进行比较,我已经更新了代码。
标签: python list loops for-loop append