python - 如何在函数中返回完整的for循环
问题描述
我试图For loop
在函数中运行 a 但是当我调用函数时只返回第一个值。
我试过用 aprint
而不是a 来结束循环return
,它得到了正确的结果(它打印循环中的每个值)但意味着 anone
被添加到答案中,因为现在有一个双重打印。
请注意:在这些示例中,可以直接打印“值”,但我希望能够通过 for 循环运行,以便稍后增加复杂性。
以结尾的函数return
只打印出“For循环”的第一个值:
def thing():
value = ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 )
for x in value:
return x
print(thing())
# 1
此函数使用print
并给出正确的结果,除了none
由于双重打印而添加的结果。
def thing1():
value = ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 )
for x in value:
print(x)
print(thing1())
>>> OutPut:
1
2
3
4
5
6
7
8
9
10
None
如何在删除“无”的同时获得第二个结果(所有值的完整打印循环)?
解决方案
运行后return
,函数停止评估。如果您想在 for 循环中返回所有内容,请返回其输出列表:
ret_vals = []
for x in value:
ret_vals.append(x)
return(ret_vals)
您可以将它们打印在您指定的新行上,如下所示:
out = func()
for x in out:
print(x)
推荐阅读
- asynchronous - ClojureScript 的异步库是如何在浏览器中实现的?
- css - 如何将一个 div 居中但将第二个 div 一直保持在左侧?
- redirect - HAProxy 在 302 重定向之前添加一些标头
- typescript - TypeScript 中的 Lodash pickBy 给出错误:索引签名不兼容
- python-3.x - 从具有计算值的 2 个数据帧创建 Pandas 数据帧
- javascript - C# Cefsharp 无法获取ElementsByClassName
- ansible - Ansible 在字符串中查找列表的任何成员
- python - Discord bot 将嵌入消息发送到另一个频道
- java - 错误:无法创建 Java 虚拟机
- c# - 如何在没有继承属性的情况下在设计时填写列表?