如何对列表元素逐个应用函数并依次输出每个处理结果?
实现逐行输出map处理后的列表元素
原代码示例
nums = [1, 2, 3, 4] def func(a): return 10 * a result = list(map(func, nums)) print(result)
原运行结果
[10, 20, 30, 40]
需求说明
需要对列表元素逐个应用func函数并逐行输出结果,最终输出形式如下:
10 20 30 40
解决方案
方法1:遍历处理结果逐个打印
直接遍历map返回的迭代对象(无需提前转成列表),对每个元素执行打印操作:
nums = [1, 2, 3, 4] def func(a): return 10 * a for processed_num in map(func, nums): print(processed_num)
如果需要保留处理后的完整列表,也可以先转换为列表再遍历打印:
nums = [1, 2, 3, 4] def func(a): return 10 * a result = list(map(func, nums)) for num in result: print(num)
方法2:利用解包和分隔符实现一行输出
借助Python的参数解包特性,将map处理后的元素作为print的参数,指定分隔符为换行符:
nums = [1, 2, 3, 4] def func(a): return 10 * a print(*map(func, nums), sep='\n')
内容的提问来源于stack exchange,提问作者zltx
相关产品推荐
相关产品推荐

