Python 排序()不是排序列表
我有一个由子列表组成的列表,我想从子列表中找到第二高的数字,所以我使用了排序函数。但是,列表仍然没有排序Python 排序()不是排序列表,python,sorting,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.
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')]
我不知道你在做什么,但我可以确定,
所有出价
都被相应地排序了(这是最小的第一项)。要得到相反的结果,你可以这样做
sorted(*each_entry()[4], reverse=True)
最后要解决您的问题,您必须创建一个排序函数,并使用键
参数
编辑
我尝试了你的代码,这给了我你想要的输出
x = sorted(('10.00', '7.50', '12.50', '20.00'), key=float)
print(x)
列表中有一个元组。摆脱列表:
all\u bids=zip(*每个条目)[4]
。它确实对列表进行了排序。您的列表只有一个元素,一个由四个元素组成的元组。首先,您的列表包含一个元组,因此没有要排序的内容。其次,元组包含字符串而不是数字。因此,即使假设您想对元组进行排序,它们也会按字典顺序对拼写错误进行排序。谢谢大家的建议,我将元组转换为列表,现在可以排序6662097:在这种情况下,请删除您的问题,这样大家就不会浪费时间了。