Python:另一种不用内置sort函数进行排序的方法?

2024-06-01 21:59:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我们用tuple(<gender>, <age>)表示一个人。给定一个人员列表,编写一个sort\u 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的方法?在


Tags: 方法key函数列表age人员排序顺序
2条回答
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

假设您想要一个输入的副本,而不修改输入本身,这将是sorted,例如:

l2 = list(sorted(l1, key=lambda x: -x[1]))

相关问题 更多 >