Ros*_*nda 1 python return list
在我将一个列表添加到另一个列表之后,我试图在Python中打印出列表中的所有元素.问题是它只在我使用PRINT或RETURN时打印出每个元素.如果我使用print,它会在列表末尾的"None"列中打印出整个列表,但return将打印出第一个项目.为什么?
这是代码:
def union(a,b):
a.append(b)
for item in a:
return item
a=[1,2,3,4]
b=[4,5,6]
print union(a,b)
Run Code Online (Sandbox Code Playgroud)
它返回:
1
如果我使用
def union(a,b):
a.append(b)
for item in a:
print item
a=[1,2,3,4]
b=[4,5,6]
print union(a,b)
Run Code Online (Sandbox Code Playgroud)
相反,我得到:
1
2
3
4
[4,5,6]
没有
(甚至不是一行).
请注意,我在这个问题上找到了更多的结果(比如这个),但它们并不完全相同,而且对我来说它们非常复杂,我只是开始学习编程,谢谢!
使用return语句时,函数结束.您只返回第一个值,循环不会继续,也不能以这种方式一个接一个地返回元素.
print只是将该值写入终端并且不会结束该功能.循环继续.
建立一个列表,然后返回是:
def union(a,b):
a.append(b)
result = []
for item in a:
result.append(a)
return result
Run Code Online (Sandbox Code Playgroud)
或者只返回一个串联:
def union(a, b):
return a + b
Run Code Online (Sandbox Code Playgroud)