Q:怎么给一个乱序元组列表按时间排序?
要转换日期时间成时间戳吗?还是有更简单的方法?主要列表里是元组,应该怎么写呢?
我想倒序,是按正序排完了再 reversed 吗?
要转换日期时间成时间戳吗?还是有更简单的方法?主要列表里是元组,应该怎么写呢?
我想倒序,是按正序排完了再 reversed 吗?
def take_first(elem):
time_string = elem[0]
return time_string
input_list = [(‘2021-03-18 21:30’, ‘16863’, ‘4032’, ‘0’, ‘3’),(‘2021-03-18 19:15’, ‘42898’, ‘9917’, ‘2’, ‘2’),(‘2021-03-16 21:30’, ‘9918’, ‘7239’, ‘1’, ‘0’),(‘2021-03-16 19:15’, ‘9916’, ‘16988’, ‘1’, ‘0’),(‘2021-03-09 21:30’, ‘9924’, ‘9914’, ‘0’, ‘1’),(‘2021-03-18 21:30’, ‘16863’, ‘4032’, ‘0’, ‘3’)]
input_list.sort(key=take_first, reverse=True)
print(input_list)
“`
@Gorgine 这么骚的操作是怎么做到的, 也没用 datatme 。 讲讲啊大神 lambda 不太懂,不就是匿名函数吗? 怎么就按时间排列了呢??
sorted 有个参数叫 key, 这个 key 可以传个函数进去,函数的参数默认就是这个 list 的 item,就是每个元祖,所以在这个匿名函数里面取 x[0],就取到来元祖的第一项,也就是那个时间字符串,然后 sorted 会根据 x[0]来给这个 list 排序
666
擦,不学了。 我这撅腚捅咕一个小时没捅咕出来。。
老大们 接活吗?