def sort(iterable, key=None, reverse=False):
ret = []
if key is None: #判断key是否传入排序方式, 如果没有且根据reverse确定是否反序,默认采用升序排列
key = lambda a,b:(a<b if reverse else a>b)
for x in iterable:
for k, val in enumerate(ret):
if key(val, x):
ret.insert(k, x)
break
else:
ret.append(x)
return ret
import random
lst = [random.randint(1,100) for i in range(10)]
print("src list:", lst)
print("sort list:", sort(lst))