Skip to main content
 首页 » 编程设计

Python:为什么 "return"不会在简单的 for 循环中打印出所有列表元素而 "print"会打印出来

2025年05月04日12luoye11

在我将一个列表附加到另一个列表后,我试图用 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) 

它返回:

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) 

相反,我得到:

1

2

3

4

[4, 5, 6]

None

(甚至不在一行中)。

请注意,我发现了更多关于这个问题的结果(like this one),但它们并不完全相同,而且它们对我来说相当复杂,我只是开始学习编程,谢谢!

请您参考如下方法:

当您使用return 语句时,函数结束。您只返回第一个值,循环不会继续,您也不能以这种方式一个接一个地返回元素。

print 只是将该值写入您的终端,并不结束函数。循环继续。

构建一个列表,然后返回那个:

def union(a,b): 
    a.append(b) 
    result = [] 
    for item in a: 
        result.append(a) 
    return result 

或者只返回一个连接:

def union(a, b): 
    return a + b