如何在Python中打印多指标值及对应计算结果?
问题描述
我使用以下Python代码,运行正常:
def indicators(a,b): netsum = [] for a1 in a: for b1 in b: netsum.append(a1 + b1) return netsum a = [1,2] b = [3,5] [print(i) for i in indicators(a,b)]
当前输出结果为:
4 6 5 7
我期望得到如下格式的输出:
a=1,b=3,4 a=1,b=5,6 a=2,b=3,5 a=2,b=5,7
请问如何实现?我希望在打印结果的同时输出对应的指标值。
解决方案
方法1:修改函数返回包含原始值与计算结果的元组
让函数返回包含a1、b1和求和结果的元组,之后遍历结果时用字符串格式化输出:
def indicators(a,b): result = [] for a1 in a: for b1 in b: result.append((a1, b1, a1 + b1)) return result a = [1,2] b = [3,5] for item in indicators(a,b): print(f"a={item[0]},b={item[1]},{item[2]}")
方法2:直接在循环内完成打印(无需返回列表)
如果不需要保存计算结果,直接在函数的嵌套循环里打印格式化后的字符串,代码更简洁:
def indicators(a,b): for a1 in a: for b1 in b: print(f"a={a1},b={b1},{a1 + b1}") a = [1,2] b = [3,5] indicators(a,b)
两种方法都能生成你期望的输出格式,核心是保留原始的a1和b1值,而非仅返回求和结果,这样才能将它们与计算值一同格式化输出。
内容的提问来源于stack exchange,提问作者Cem
相关产品推荐
相关产品推荐

