如何按时间对Python元组列表进行排序?
按时间排序元组列表
当然可以实现!你的元组列表完全支持按时间排序,因为时间字符串是HH:MM:SS格式,这种格式的字符串字典序和实际时间顺序一致,直接用Python的排序工具就能完成需求。
原始数据
original_list = [ ('100701260', '10:23:15'), ('100701260', '07:52:27'), ('100700853', '09:26:52') ]
生成新的排序后列表
使用sorted()函数,通过key参数指定以元组的第二个元素(时间字符串)作为排序依据:
sorted_list = sorted(original_list, key=lambda x: x[1])
运行后得到的结果就是你想要的形式:
[('100701260', '07:52:27'), ('100700853', '09:26:52'), ('100701260', '10:23:15')]
原地修改原列表排序
如果不需要保留原列表,直接修改原列表可以用sort()方法:
original_list.sort(key=lambda x: x[1])
原理说明
key=lambda x: x[1]表示提取每个元组的第二个元素作为排序的比较值,由于HH:MM:SS格式的字符串在字典序上和时间先后顺序完全匹配,所以排序结果完全符合时间顺序的要求。
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

