# 实现列表的排序,要求支持逆序和指定标准(key) def paixv(lt, key = False,reverse = False): #列表lt,指定标准key,是否逆序reverse for i in range(len(lt) - 1): for j in range(i+1,len(lt)): if key: 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 else: if reverse: if lt[i] < lt[j]: t = lt[i] lt[i] = lt[j] lt[j] = t else: if lt[i] > lt[j]: t = lt[i] lt[i] = lt[j] lt[j] = t #字典测试 lt = [ {'name': 'ergou', 'age': 18, 'height': '180'}, {'name': 'dagou', 'age': 20, 'height': '170'}, {'name': 'dahua', 'age': 19, 'height': '190'}, {'name': 'cuihua', 'age': 21, 'height': '165'}, {'name': 'Ton', 'age': 28, 'height': '185'}, {'name': 'Tom', 'age': 30, 'height': '198'} ] paixv(lt,key = lambda d: d["age"],reverse = True) # 普通测试 # lt = [1,2,3,4,5,9,8] # # paixv(lt,reverse=True) print(lt)
python 实现列表的排序,要求支持逆序和指定标准(key)(模仿sort函数)
最新推荐文章于 2024-07-07 14:56:25 发布