基于内部列表中的数字对列表列表进行排序

时间:2014-08-17 08:20:51

标签: python list

我有一个像这样的列表列表

a = [['abc', 9], ['def', 10], ['ghi', 6]]

根据内部列表中的数字对列表进行排序的最短方法是什么?

1 个答案:

答案 0 :(得分:1)

使用sortedkey参数(键函数的返回值用于比较):

>>> a = [['abc', 9], ['def', 10], ['ghi', 6]]
>>> sorted(a, key=lambda x: x[1])
[['ghi', 6], ['abc', 9], ['def', 10]]

sorted返回一个新的排序列表。如果要对列表进行就地排序,请改用list.sort

>>> a  # <-- not changed by `sorted` function.
[['abc', 9], ['def', 10], ['ghi', 6]]
>>> a.sort(key=lambda x: x[1])
>>> a
[['ghi', 6], ['abc', 9], ['def', 10]]