【发布时间】:2012-11-21 16:30:41
【问题描述】:
所以我有这个列表,我们将它命名为 listA。我正在尝试获取每个列表中的 [3] 项,例如['5.01','5.88','2.10','9.45','17.58','2.76'] 按排序顺序。所以最终结果将重新开始整个列表,圣诞老人在顶部。这有意义吗?
[['John Doe', u'25.78', u'20.77', '5.01'], ['Jane Doe', u'21.08', u'15.20', '5.88'], ['James Bond', u'20.57', u'18.47', '2.10'], ['Michael Jordan', u'28.50', u'19.05', '9.45'], ['Santa', u'31.13', u'13.55', '17.58'], ['Easter Bunny', u'17.20', u'14.44', '2.76']]
【问题讨论】:
-
使用 operator 模块中的 itemgetter()。它并不为人所知,但旨在完全按照您的意愿行事。它比 lambdas 更容易阅读,实现起来也非常简单。
-
@MichaelDavidWatson,不幸的是 itemgetter 无法帮助对字符串进行数字排序。
-
是的。但是,对于从谷歌来到这个页面的每个人来说,了解 itemgetter 仍然是件好事,他们正在寻找一个类似的解决方案,其中值已经是 float/int
标签: python list numbers numeric sorted