python - sorted() 不是排序列表
问题描述
我有一个由子列表组成的列表,我想从子列表中找到第二高的数字,所以我使用了排序功能。但是,该列表仍未排序。
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')]
解决方案
我不知道你在做什么,但我可以找出相应的all_bids
排序(首先是最小的项目)。为了得到相反的结果,你可以做
sorted(*each_entry()[4], reverse=True)
最后要解决你的问题,你必须创建一个排序函数,并使用key
参数。
编辑 我试过你的代码,这给了我你想要的输出。
x = sorted(('10.00', '7.50', '12.50', '20.00'), key=float)
print(x)
推荐阅读
- javascript - 无法从本地主机连接到另一个本地主机
- python-3.x - 将键/值字符串列表转换为map python
- python - 如何修复“检查输入时出错:预期 input_1 有 2 个维度,但得到的数组形状为 (32, 168, 5)”
- c# - 使用反向 For 循环时如何判断我是否到达列表的开头?
- laravel - InvalidArgumentException:未找到查看 [主题。]
- javascript - 如何通过字节数组创建文件对象
- ios - AVFoundation- .audioDeviceInUseByAnotherClient 在调用 CXCallObserver call.hasEnded(呼叫断开)后运行
- google-apps-script - 为什么 indexOf() 不能使用谷歌表格在 .map() 内部工作?
- javascript - Angular 升级到 8 后出现拖动事件的问题。(使用 D3)
- r - 如何将字符日期(1931 年 2 月 12 日)转换为日期格式(Y、m、d)