在不导入任何模块的情况下,以min:sec格式排序时间的有效方法是什么?

时间:2018-11-17 20:11:52

标签: python list sorting timedelta

我有一个字符串表,其中最后一栏是“时间”,其写法如下:

['7:15','6:27','5:24','2:50','4:39','5:11','2:56','4:29','3:17','3:04']

我想显示此列表中最大和最小的列表,限制是我无法导入任何模块(这不是我的选择)。

虽然我想将每个元素的第一个字符作为一个int进行比较,但是如果有平局,查看要比较的第二个数字,似乎还有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

您可以将list.sort方法与自己的键功能一起使用:

l = ['7:15','6:27','5:24','2:50','4:39','5:11','2:56','4:29','3:17','3:04']
l.sort(lambda s: [int(i) for i in s.split(':')])

l修改为:

['2:50', '2:56', '3:04', '3:17', '4:29', '4:39', '5:11', '5:24', '6:27', '7:15']

答案 1 :(得分:1)

传统方法 是使用导入的模块,例如export OPENSSL_CONF=/etc/ssl/ 中的datetime.timedelta。但是,根据您的限制,您可以在每个“时间增量”字符串中计算分钟数,然后进行排序:

stlib