巧妙处理 return 遇上 for 循环 |
您所在的位置:网站首页 › for循环中return会跳出吗 › 巧妙处理 return 遇上 for 循环 |
“ 阅读文本大概需要 3 分钟
前言
大家好,这里是「brucepk」零基础学习 Python 系列教程。此文首发于「brucepk」公众号,欢迎大家关注。 今天给大家带来的是 python 小知识点: 函数中怎么在 for 循环后 返回列表的全部元素?什么?有点晕,那就举例看看 我们先看一个简单的 for 循环的栗子: for i in range(1,6): print(i)-->输出结果:12345我们的需求是:返回 i 的全部元素 我们现在把这个循环放在函数中,我们直接调用函数看看。 def brucepk(): for i in range(1,6): return ij=brucepk()print(j)这样当被调用时,会不会返回全部元素呢?我们看下结果: --> 1结果等于 1 ,为啥?因为 for 循环一旦遇到 return 就会马上终止循环,当 i 第一次循环到 1 时遇到了 return 就马上停止并返回了,所以调用时函数返回的 i 就是第一次循环的 1 值。 那我要返回全部的元素怎么做呢?放在 for 循环外是不是可行呢?我们来看看: def brucepk(): for i in range(1,6): pass return ij=brucepk()print(j)这里不对 for 循环做处理,直接用 pass,pass不做任何事情,只起到占位的作用。调用结果如下: --> 5放在循环体之外,等循环完了再赋值,循环到 5 ,循环结束,所以返回给调用者就是 5,这样还是没有达到我们的需求。 解决方法我们在循环还未开始时新建一个空的 list 对象,在 for 循环中用 append 把全部元素加到空 list 对象中并返回添加后的 list 对象。 def brucepk(): k=[] for i in range(1,6): k.append(i) return kj=brucepk()print(j)这样就可以把 i 的全部元素以列表的形式返回了。 #输出结果:[1, 2, 3, 4, 5]这种情况的场景很普遍,比如我分享的爬虫实战中python 爬虫爬取煎蛋网妹子图 100 行代码找出你中意的书,函数中对一个链接或者元素循环处理后需要 return 方便被调用,这时用此方法可迎刃而解。 推荐阅读零基础学 python 之人人都爱列表 python 优雅之美 - 字典合并 关注我,一起共同进步吧! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |