我有一个像这样的列表列表
a = [['abc', 9], ['def', 10], ['ghi', 6]]
根据内部列表中的数字对列表进行排序的最短方法是什么?
答案 0 :(得分:1)
使用sorted
和key
参数(键函数的返回值用于比较):
>>> 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]]