2017-02-08 55 views
3

我有一个二维表像这样:按字母顺序排列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']] 

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

回答

7

一般最快的方法应该是,就像你描述的那样:

for sublist in lst: 
    sublist.sort() 

lst.sort() 

另外,如果你想这样做出来的地方:

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

也'new_lst =排序(图( '排序,lst))'。但是,似乎我的电脑上的列表理解速度更快 –