我觉得不用抄书上的代码. 遇到实现问题,应该结合python本身的功能去解决. 比如,当合并有序列表时,为什么一定要一项一项比较,而不是使用list的sort函数呢? # coding = utf-8 # 两个有序列表的合并,将a_list合并到b_list # 如果是三个序列或是N个列表的合并呢? def merge_order_list(one_list, *more_list): for i in range(len(more_list)): for item in more_list[i
可能又和标准的实现不一样, 但是自己的实现, 印象就会不一样的. # coding = utf-8 # 两个有序列表的合并,将two_list合并到one_list def merge_order_list(one_list, two_list): for item in two_list: # 先区分元素是否比列表的最大元素还要大. if item < one_list[-1]: for i in range(len(one_list)): # 先比较,再插入 if item <= one_
day26 --------------------------------------------------------------- 实例039:有序列表插入元素 题目 有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 分析:原来的排序规律不知道,所以先判断原来的数组规律,再循环比对 1 def insert_arry(list, a): 2 if list[0]<=list[-1]: 3 for i in range(len(list)): 4 if list[i]
递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点) --> l = [1, [2, [3, [4, [5, [6, [7, [8, [9, [10, [11, [12, [13, ]]]]]]]]]]]]] # 循环的写法, 列表嵌套越多层越麻烦 for i in l: # 推导思路 if type(i) is int: print(i) else: for item in i: if type(item)