Python:另一种不使用内置排序功能进行排序的方法?

时间:2017-03-09 08:02:25

标签: python list python-3.x tuples

我们代表使用tuple(<gender>, <age>)的人。给定人员列表,编写一个函数sort_age,对人员进行排序并按顺序返回列表,以便老年人位于列表的前面。人员列表的一个示例是[("M", 23), ("F", 19), ("M", 30)]。排序列表看起来像[("M", 30), ("M", 23), ("F", 19)]

我的方法:

def sort_age(lst):
   lst.sort(key=lambda x: (x[1],x[0]),reverse=True)
   return lst

有没有其他方法可以在不使用.sort的情况下执行此操作?

2 个答案:

答案 0 :(得分:1)

def custom_sort(lst):
    for i in range(0,len(lst)-1):
        for j in range(i+1,len(lst)):
            if lst[i][1]<lst[j][1]:
                lst[i],lst[j]=lst[j],lst[i]
    return lst

答案 1 :(得分:0)

假设您需要输入的副本,而不修改输入本身,那将是<table class="table table-hover"> <tr> <td></td> <td><a href="">Inter Milan</a></td> <td style="text-align:center"> <span class="label label-default">0 - 1</span> </td> <td style="text-align: right;"><a href="">Lazzio Roma</a></td> <td></td> </tr> <tr> <td></td> <td><a href="">Bayern Munich</a></td> <td style="text-align: center"> <span class="label label-default">3 - 3</span></td> <td style="text-align: right;"><a href="">Herta Berlin</a></td> <td></td> </tr> </table> ,例如:

sorted