python递归函数
1.描述:
- 递归函数:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
2.递归函数特性:
- 必须有一个明确的结束条件;
- 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
- 相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。
3.实例说明
- 计算阶乘 n! = 1 * 2 * 3 * ... * n,,用函数 fact(n) 表示, 可以看出:fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n,所以,fact(n) 可以表示为 n * fact(n-1),只有 n = 1 时需要特殊处理
#相加计算,递归方式 def fact(n): if n > 0: return fact(n-1) + n else: return 0 print(fact(5))
4.实例应用
#找出接口报文中某个字段的值 queryUserList = { "code": "200", "msg": "查询用户成功!", "model": { "user1": { "userAccount": "17779828882", "userName": "zhengying2", "userMobile": "17779828882", "userEmail": "" }, "user2": { "userAccount": "17779828881", "userName": "zhengying1", "userMobile": "17779828881", "userEmail": "" }, "user3": { "userAccount": "17779828880", "userName": "zhengying0", "userMobile": "17779828880", "userEmail": "" }, "user4": { "userAccount": "admin", "userName": "admin", "userMobile": "", "userEmail": "" }, "pages": 1 } } #代码如下 values = [] def get_value(getkey,dict1): if isinstance(dict1,dict): #验证入参格式是否为字典 for k,v in dict1.items(): #取出所以的键值对 if k == getkey: #判断所拿到的键是否是预期传入的键 values.append(v) get_value(getkey,v) #进行递归 get_value("userEmail",queryUserList) print(values)
相关推荐
steeven 2020-11-10
Tips 2020-10-14
nongfusanquan0 2020-08-18
清溪算法君老号 2020-06-27
清溪算法 2020-06-21
RememberMePlease 2020-06-17
nurvnurv 2020-06-05
SystemArchitect 2020-06-02
清溪算法 2020-05-27
清溪算法 2020-05-25
LczPtr 2020-05-25
举 2020-05-20
徐建岗网络管理 2020-05-10
steeven 2020-05-09
Tips 2020-05-03
猛禽的编程艺术 2020-05-01