python 自己实现列表的sort函数,支持逆序,可以排序任意类型的数据。 实现列表的排序,要求支持逆序和指定标准(key)

def paixv(lt,reverse = None):
    for i in range(len(lt) - 1):
        for j in range(i+1,len(lt)):
             if reverse :
                 if key(lt[i]) < key(lt[j]):
                     t = lt[i]
                     lt[i] = lt[j]
                     lt[j] = t
             else:
                 if key(lt[i]) > key(lt[j]):
                     t = lt[i]
                     lt[i] = lt[j]
                     lt[j] = t
lt = [
   {'name': 'xiaoming', 'age': 18},
   {'name': 'xiaoming', 'age': 15},
   {'name': 'xiaoming', 'age': 16},
   {'name': 'xiaoming', 'age': 17}
]
def key(x):
    return x["age"]

paixv(lt,key=lambda x :x["age"]reverse = True)

List item

你可能感兴趣的:(python 自己实现列表的sort函数,支持逆序,可以排序任意类型的数据。 实现列表的排序,要求支持逆序和指定标准(key))