Python中文
首页
教程
问答
标签
搜索
登录
注册
Python递归函数在返回时不执行外部循环的其余部分
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图从字典中获取所有的key、val对,我的目标是当key-value对与某个值匹配时从函数返回true,如果没有匹配则返回false。我观察到在递归调用中使用“return”时,“for”循环会导航到最内层的循环,但会在那里停止,并且不会执行其余的外层循环。不知道为什么?根据递归的概念,它们应该。我错过了什么</p> <p>下面是代码片段</p> <pre><code>resp = ' { "name": "Stuart", "response" : { "age" : "27", "weight" : "50"}, "address" : "New York" }' response = json.loads(resp) def recursive_loop(response): for key, value in response.items(): if type(value) is dict: return recursive_loop(value) elif key == "address" and value == "New York": print ("Match") return True else: print (value) return False z = recursive_loop(response) print (z) </code></pre> <p>我得到的输出:</p> <pre><code>Stuart 27 50 False </code></pre> <p>我期望的结果是:</p> <pre><code>Stuart 27 50 Match True </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><code>return</code>停止函数的执行,无论递归或它处于循环中,因此无法恢复</p> <p>您可能需要查看<code>yield</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Python中两个字典的交集
1 回答
python中两个字符串上的异或操作数?
8 回答
Python中两个字符串中的类似句子
6 回答
Python中两个字符串之间的Hamming距离
1 回答
python中两个字符串之间的匹配模式
2 回答
python中两个字符串之间的按位或
8 回答
python中两个字符串之间的数据(字节)切片
3 回答
python中两个字符串之间的模式
6 回答
python中两个字符串作为子字符串的区别
1 回答
Python中两个字符串元组的比较
4 回答
Python中两个字符串列表中的公共字符串
2 回答
python中两个字符串的Anagram测试
10 回答
Python中两个字符串的正则匹配
3 回答
python中两个字符串的笛卡尔乘积
1 回答
Python中两个字符串相似性的比较
1 回答
python中两个字符串语义相似度的求法
3 回答
Python中两个字符置换成固定长度的字符串,每个字符的数目相等
1 回答
Python中两个对数方程之间的插值和平滑数据
6 回答
Python中两个对象之间的And/Or运算符
4 回答
python中两个嵌套字典中相似键的和值
7 回答