按字母顺序对2D列表进行排序?

时间:2017-02-08 22:44:35

标签: python list sorting

我有一个2D列表如下:

lst = [['c', 'd', 'b'], ['d', 'c', 'a'], ['b', 'a', 'c']]

我首先要按字母顺序对列表中的每个列表进行排序:

lst = [['b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'b', 'c']]

最后,我想按字母顺序对整个列表进行排序,并考虑子列表中的每个元素:

lst = [['a', 'b', 'c'], ['a', 'c', 'd'], ['b', 'c', 'd']]

实现这一目标的最快方法是什么?谢谢。

1 个答案:

答案 0 :(得分:8)

一般来说,最快的方法就像你描述的那样:

for sublist in lst:
    sublist.sort()

lst.sort()

或者,如果你想做的不合适:

new_lst = [sorted(sublist) for sublist in lst]
new_lst.sort()