此问题在此处已有答案:
What is the purpose of the return statement? How is it different from printing?(共15个答案)
10小时前就关门了。
我有这个方法:
def filter_verdi_total_fruit_cost(file_name):
output = []
for token in file_name.split('\n'):
items = token.split()
if len(items) > 2 and items[1] in fruit_words:
output.append((items[1], items[-1]))
for _, v in output:
return v
print(filter_verdi_total_fruit_cost(verdi50))
它只打印一个值:123,20.
但当我用以下内容替换return v时:print(v)
它输出所有的值,当我调用这个方法时:print(filter_verdi_total_fruit_cost(verdi50))
个
123,20
2.772,00
46,20
577,50
69,30
3.488,16
137,50
500,00
1.000,00
2.000,00
1.000,00
381,2
但是我不明白,我只返回v,然后它只打印一个值,如果我做print(v),它会打印所有的值。
问:在没有print语句的情况下,如何返回方法中的所有值?
2条答案
按热度按时间6yt4nkrj1#
当您叫用
return
陈述式时,您的函数会停止并传回值。您可以像这样在函数外打印元素,返回包含所有元组的数组。
t2a7ltrp2#
要以列表形式返回
output
中的所有值,请更改以下内容:更改为:
注意,它需要在
for
循环之外(即,去缩进到与output = []
相同的级别),以便在构建完整个output
列表之前不会发生这种情况。你也可以把它写成一个列表解析,而不是
append
ing到一个列表中,例如: