Python高阶技巧7 -- 递归
一个案例:
扩展知识:
一个简单的例子:求n的阶乘!
def func(n): if n == 1: return 1 else: return n * func(n-1) print(func(5)) # 120
基于已经学习的python内容,我尝试写了一个排序算法,用于对列表中所有元素进行排序:
def sort_by_list(lst: list, ascending=True) -> list: """ 对列表中的所有元素进行排序 :param lst: 输入列表 :param ascending: 升序排列,默认为True :return: 返回一个排序好的列表 """ if len(lst) == 1: return lst else: while True: lst_pair = [*zip(lst[:-1], lst[1:])] TF = [*map(lambda x: x[1] >= x[0], lst_pair)] if False in TF: index = TF.index(False) lst[index], lst[index + 1] = lst[index + 1], lst[index] continue else: break if not ascending: lst.reverse() return lst