【问题标题】:Sorting a 2D list alphabetically?按字母顺序对二维列表进行排序?
【发布时间】:2017-02-08 22:44:34
【问题描述】:

我有一个像这样的二维列表:

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']]

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

【问题讨论】:

    标签: python list sorting


    【解决方案1】:

    一般来说最快的方法应该是你描述的那样:

    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))。但似乎我的电脑上的列表理解速度更快
    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多