我有一个包含子列表的列表,我想从子列表中找到第二高的数字,因此我使用了排序功能。但是,该列表仍未排序。
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')]
答案 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)