【发布时间】:2015-05-18 19:34:46
【问题描述】:
我有一个元组列表:
lst = [(1,2), (3,2), (1,3), (3,4)]
我想根据第一个键按降序对这个列表进行排序,但是对于 这个键的相同值,列表应该根据第二个键排序,但是升序。
但如果我这样做:
srt_lst = sorted(lst, key=lambda val: (val[0], val[1]), reverse = True)
它给了我:
[(3, 4), (3, 2), (1, 3), (1, 2)]
但我正在寻找的列表是
[(3, 2), (3, 4), (1, 2), (1, 3)]
编辑
抱歉,我已经提供了所有需要的信息!!!!
请考虑,以下作为我的列表:
[('1', '3:00 PM'), ('1', '3:00AM'), ('2', '1:00 AM'), ('2', '2:00 AM')]
srt_lst = sorted(lst, key=lambda val: (val[0], val[1]), reverse = True)
提供:
[(2, '2:00 PM'), (2, '2:00 AM'), (2, '1:00 AM'), (1, '3:00 PM'), (1, '3:00 AM')]
要求是:
[(2, '2:00 AM'), (2, '2:00 PM'), (1, '3:00 AM'), (1, '3:00 PM')]
【问题讨论】:
标签: python python-2.7 sorting