码迷,mamicode.com
首页 > 其他好文 > 详细

递归函数,匿名函数,内置函数

时间:2018-06-14 21:04:02      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:module   基于   inpu   ret   int   递归函数   重复   函数名   迭代器   

# 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会判断函数的返回值的真假,如果真则留下res
names=[‘alex‘,‘egon‘,‘wxx‘]
aaa=filter(lambda x:x.endswith(‘sb‘),names)


module=input(‘请输入‘)
m=__import__(module)
import可导入字符串格式模块名

递归函数,匿名函数,内置函数

标签:module   基于   inpu   ret   int   递归函数   重复   函数名   迭代器   

原文地址:https://www.cnblogs.com/lijieshi/p/9184524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!