【发布时间】:2013-05-14 07:43:04
【问题描述】:
假设我有:
student_tuples = [ ('john', 'A', 15),
('peter', 'B', 12),
('dave', 'C', 12)]
如何将其排序为这样:
student_tuples = [('john', 'A', 15), ('dave', 'C', 12), ('peter', 'B', 12)]
我能想到的是:
from operator import itemgetter
sorted(student_tuples, key=itemgetter(2,0), reverse=True)
然后输出将是:
student_tuples = [('john', 'A', 15), ('peter', 'B', 12), ('dave', 'C', 12)]
这不是我想要的。我怎样才能使用 itemgetter 或任何其他更简单的方法呢?
【问题讨论】:
-
查看post。我想这里有你需要的一切。
-
对于它的价值,我不相信这是重复的。这个问题是专门询问如何按一个降序键和一个升序键排序,而“重复”只是询问多个键。
-
@RichieHindle "One [...] and one [...]" 在语法上等同于 multiple;因此,“按一个 desc[...] 和 asc[...] 排序”与“[sorting by] 多个键”完全相同。
-
不确定是否值得重新打开然后再次关闭。