按字母顺序排序一个二维列表?

4

I have a 2D list such as this:

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个回答

8
一般来说,最快的方法应该就是您所描述的方式:
for sublist in lst:
    sublist.sort()

lst.sort()

或者,如果你想在不同的地方进行操作:

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

也可以使用 new_lst = sorted(map(sorted, lst))。但是在我的电脑上,列表解析似乎更快。 - John La Rooy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接