Sam*_*yHD 1 python sorting list
目前,我有一个名单列表,result其中包含这样的值,例如:
result[1] = [John, 0.32]
result[2] = [Mikey, 1.90]
result[3] = [Sarah, 1.31]
result[4] = [Nancy, 0.49]
result[5] = [Billy, 0.13]
Run Code Online (Sandbox Code Playgroud)
但是,我想按照索引空间[1]中保存的数字的降序对其进行排序.因此系统将按该顺序返回值.我是否只需要使用该sorted()函数并调用保存值的索引?我不需要求助于列表是否有必要,我只需要按降序输出值.
我怎么会这样做呢?
使用函数中的key参数sorted.
sorted(result, key = lambda x:x[1], reverse = True)
Run Code Online (Sandbox Code Playgroud)
将reverse = True可确保项目按降序排列.这里要注意的重要一点是key参数.
key = lambda x:x[1]
Run Code Online (Sandbox Code Playgroud)
我们将lambda函数传递给key参数,该参数接受一个参数.sorted从中拾取每个元素result并将其传递给key函数.在我们的例子中,它是元组.该key函数返回元组中的第二项.因此,在排序时,元组中的第二项将用作元组本身的值.这意味着,当我们comapre [John, 0.32]和[Mikey, 1.90],我们将以实际比较0.32,并1.90只.
sorted不会更改实际列表,但会创建新的排序列表.但是,如果您想对列表本身进行排序,那么您可以使用list.sort方法,就像这样
result.sort(key = lambda x:x[1], reverse = True)
Run Code Online (Sandbox Code Playgroud)