为什么sorted()不对元组进行排序?

时间:2019-08-15 07:49:40

标签: python-3.x

我有一个包含40个值的列表,这些值的格式如下所示:

line =['2005:450243780097359872', 'consumer', '(0, 0.038374472)', '(1, 0.038374227)', '(2, 0.46275997)', '(3, 0.03837424)', '(4, 0.038374268)', '(5, 0.038374446)', '(6, 0.038374227)', '(7, 0.038374294)', '(8, 0.03837436)', '(9, 0.038374227)', '(10, 0.038374227)', '(11, 0.03837425)', '(12, 0.038374335)', '(13, 0.038374227)', '(14, 0.038374227)', '(0, 0.038374472)', '(1, 0.038374227)', '(2, 0.46275997)', '(3, 0.03837424)', '(4, 0.038374268)', '(5, 0.038374446)', '(6, 0.038374227)', '(7, 0.038374294)', '(8, 0.03837436)', '(9, 0.038374227)', '(10, 0.038374227)', '(11, 0.03837425)', '(12, 0.038374335)', '(13, 0.038374227)', '(14, 0.038374227)', '355', '120', '110', '2014-03-30 12:10:56', '0', '0', 'consumer', '2005:450217727324856320']

我想保留此列表的第二个元素,以及第二个元素中具有最大价值的元组。简而言之,我想要这个:

['consumer' , '(2, 0.46275997)']

这是我的代码:

St = [line[1] , sorted(line[2:17] , reverse=True, key=lambda x:x[1])[0]]

这是我得到的结果:

['consumer', '(9, 0.038374227)']

有人能解释为什么sorted()不返回预期的结果吗?可能对我的代码进行故障排除? 谢谢

0 个答案:

没有答案