sorted()不排序列表

时间:2020-08-14 23:48:31

标签: python sorting

我有一个包含子列表的列表,我想从子列表中找到第二高的数字,因此我使用了排序功能。但是,该列表仍未排序。

all_bids = [zip(*each_entry)[4]]
allbids = sorted(all_bids)
print(allbids)

输出:

all_bids = [('10.00', '7.50', '12.50', '20.00')]
alibis = [('10.00', '7.50', '12.50', '20.00')]

预期输出:

[('7.50', '10.00', '12.50', '20.00')]

1 个答案:

答案 0 :(得分:2)

我不知道您在做什么,但是我可以弄清楚all_bids是按照相应的顺序排序的(首先是最小的项)。要得到相反的结果,你可以做

sorted(*each_entry()[4], reverse=True) 

最后要解决您的问题,您必须创建一个排序函数,并使用key参数。

修改 我尝试了您的代码,这给了您您想要的输出。

x = sorted(('10.00', '7.50', '12.50', '20.00'), key=float)
    print(x)