# 1,什么是递归函数,递归函数是在调用函数本身,直接或者间接调用# 递归函数有递推和回溯两个阶段# 递推:一层层地调用自身,进入下一层问题规模必须减少# 回溯:有一个明确的结束条件,但条件满足的时候一层层回溯def num(x): if x==0: return num(x-1) # 二分法:nums=[1,2,3,4,5,6,7,8,9]def seach(seach_nums,nums): if len(nums)==0: print(‘have no find‘) return print(nums) mid_index=len(nums)//2 if seach_nums<nums[mid_index]: nums=nums[:mid_index] seach(seach_nums,nums) elif seach_nums>nums[mid_index]: nums=nums[mid_index+1:] seach(seach_nums,nums) else: print(‘find it ‘)seach(9,nums) # 匿名函数:\# res=(lambda x,y:x+y)(1,2)# 有名函数:基于函数名重复使用# 匿名函数:没有绑定名字,只用一次即回收 # max,min,map,filter,sorted# 1max的工作原理# 1,首先将可迭代对象变成迭代器对象# 2res=next(可迭代对象).将res当作参数传给key指定函数,然后将函数的返回值当作判断依据salary={‘alex‘:200, ‘egon‘:2000, ‘jayce‘:188}def func(k): return salary[k]print(max(salary,key=func)) l=[1,2,43,5,6,7,7]sorted(l,reverse=True) 3,map的工作原理(1),首先将可迭代对象变成迭代器对象(2),res=next(可迭代器对象),将res当作参数传给第一个参数指定的函数,然后将该函数的返回值当作map的结果之一names=[‘wxx‘,‘lxx‘,‘zhangmingyan‘]aaa=(lambda x:x+‘sb‘ ,names)print(aaa) 4,filter的工作原理1首先将可迭代对象变成迭代器对象2res=next(可迭代器对象),将res当作参数传给第一个参数指定的函数,然后filter会判断函数的返回值的真假,如果真则留下resnames=[‘alex‘,‘egon‘,‘wxx‘]aaa=filter(lambda x:x.endswith(‘sb‘),names) module=input(‘请输入‘)m=__import__(module)import可导入字符串格式模块名
原文地址:https://www.cnblogs.com/lijieshi/p/9184524.html
时间: 2024-10-15 01:15:57