在Python中按min / max对列表进行排序

时间:2016-02-29 12:34:45

标签: python sorting lambda nested-lists

我为一个简单的问题道歉,但我在档案中找不到答案。 我该怎么做才能在较大的列表中对较小的列表进行排序。 例如

lst=[[1, 2, 3, 4], [5,9,8,7], [9, 0, 1, 2, 3 ]]

应该返回

[1, 2, 3, 4] [5,7,8,9] [ 0, 1, 2, 3,9 ]

我尝试使用lambda lst.sort(key=lambda x: x.min()) 并排序 lst.sort(key=lambda x: sorted(x)) 但都不起作用。你能指点我一下吗?感谢您的指导。

6 个答案:

答案 0 :(得分:6)

保持简单,只需使用列表理解并对列表中的列表进行排序:

输出:

[[1, 2, 3, 4], [5, 7, 8, 9], [0, 1, 2, 3, 9]]

因此,关于您的代码,您可以这样做:

lst = [sorted(x) for x in lst]

答案 1 :(得分:1)

您可以使用列表推导对每个子列表进行排序,然后分配回主列表

sed

答案 2 :(得分:1)

您可以尝试这样的事情:

lst

我循环浏览{{1}}并对每个内部列表进行排序。

答案 3 :(得分:1)

你可以这样做:

price.blade.php

答案 4 :(得分:0)

你可以写一个函数:

def sort_lst(lst):
    lists = []
    for l in lists:
       l = l[:] 
       l.sort()
       lists.append(l)
    return lists

 l = [[1, 2, 3, 6], [1, 2, 5, 6]]
 l.sort(key=lambda x: x.sort())
 print(l)
 Output: [[1, 2, 3, 6], [1, 2, 5, 6]]

答案 5 :(得分:0)

如果您想进行排序,可以执行以下操作:

override func viewDidLoad() {
    super.viewDidLoad()

    if let greenColoredViewController = tutorialPageViewController?.orderedViewControllers.first {
        greenColoredViewController.label.text = "Hello world!"
    }
}

any(ll.sort() for ll in lst) 实际上只是放弃了返回值,这些值都是any;它将返回None。)