如何使Python函数返回逐行输出而非列表格式?
解决方法
有几种实用的方式可以实现你要的效果,根据实际需求选择即可:
方法1:函数内直接逐行打印元素
如果只需要函数执行后直接输出逐行结果,不需要返回可复用的内容,直接遍历列表打印每个元素就行:
def your_function(): lst = [32, 1, 4, 5, 6] for num in lst: print(num) # 调用函数会直接输出逐行内容 your_function()
方法2:返回拼接好换行符的字符串
如果需要函数返回可后续处理的内容,同时打印时能呈现逐行效果,可以把列表元素转为字符串后用换行符'\n'拼接:
def your_function(): lst = [32, 1, 4, 5, 6] return '\n'.join(map(str, lst)) # 调用后打印返回值 result = your_function() print(result)
方法3:用生成器按需输出
如果列表数据量较大,不想一次性生成完整字符串,可以用生成器逐个返回元素,再遍历打印:
def your_function(): lst = [32, 1, 4, 5, 6] for num in lst: yield num # 遍历生成器逐行打印 for num in your_function(): print(num)
内容的提问来源于stack exchange,提问作者Mod_x
相关产品推荐
相关产品推荐

