我有一个列表(从.csv文件创建),输出如下:
[('25.09.2016 01:00:00', 'MQ100D1_3_1_4', '225'),
('25.09.2016 02:00:00', 'MQ100D1_3_1_4', '173'),
('25.09.2016 03:00:00', 'MQ100D1_3_1_4', '106'),
('25.09.2016 04:00:00', 'MQ100D1_3_1_4', '74'),
('25.09.2016 05:00:00', 'MQ100D1_3_1_4', '84'),
('25.09.2016 06:00:00', 'MQ100D1_3_1_4', '122'),
('25.09.2016 07:00:00', 'MQ100D1_3_1_4', '110'),
('25.09.2016 08:00:00', 'MQ100D1_3_1_4', '177'),
('25.09.2016 09:00:00', 'MQ100D1_3_1_4', '301'),
('25.09.2016 10:00:00', 'MQ100D1_3_1_4', '552'),
('25.09.2016 11:00:00', 'MQ100D1_3_1_4', '812'),
('25.09.2016 12:00:00', 'MQ100D1_3_1_4', '922'),
('25.09.2016 13:00:00', 'MQ100D1_3_1_4', '970'),
('25.09.2016 14:00:00', 'MQ100D1_3_1_4', '1264'),
('25.09.2016 15:00:00', 'MQ100D1_3_1_4', '1338'),
('25.09.2016 16:00:00', 'MQ100D1_3_1_4', '1347'),
('25.09.2016 17:00:00', 'MQ100D1_3_1_4', '1491'),
('25.09.2016 18:00:00', 'MQ100D1_3_1_4', '1637'),
('25.09.2016 19:00:00', 'MQ100D1_3_1_4', '1544'),
('25.09.2016 20:00:00', 'MQ100D1_3_1_4', '974'),
('25.09.2016 21:00:00', 'MQ100D1_3_1_4', '503'),
('25.09.2016 22:00:00', 'MQ100D1_3_1_4', '359'),
('25.09.2016 23:00:00', 'MQ100D1_3_1_4', '218'),
('25.09.2016 23:59:59', 'MQ100D1_3_1_4', '132')......
第一个元素是时间值。第二个是测量点。第三个是在这个时间间隔内测量的汽车数量
共有536项
对于我的程序,我需要第三个元素的最大值,以12为单位(中午之前,中午之后)
我写了这么多代码:
i = 0
topHour = []
for i in range(0, len(finalList), 12):
values = max([int(i[-1]) for i in finalList[i:i+12]])
topHour.append(values)
这为我提供了如下输出:
[922, 1637, ...]
但是,如何使用它获得相应的时间值(第一个元素)?在这个例子中,程序应该输出'25.09.2016 12:00:00'
和'25.09.2016 18:00:00'
以及最大值
迭代元组(而不是每个元组中的最后一个项)并使用
key
中的max
函数获取用于计算最大值的最后一个项您可以使用列表来执行此操作:
使用lambda函数是合适的,您可以这样做:
然后你可以进一步处理这三重
顺便说一句,在您的代码中,
i
是不明确的,您应该小心相关问题 更多 >
编程相关推荐