如何用多for循环调用func1方法 修正三参数列表推导式调用报错
解决方法
你写的列表推导式存在三处语法错误,修正后即可实现三个参数全组合遍历调用的逻辑:
- 列表元素表达式部分多余写了
x,不需要在func1(x,y,z)后再加额外变量 - 多重循环语法错误,多参数遍历不需要用逗号分隔,也不需要每个循环前重复写变量名
- 列表推导式末尾缺少闭合的右方括号
]
另外注意:Python中^是按位异或运算符,如果你实际需要计算2的x次幂,应该替换为**运算符。
正确代码
def func1(x,y,z): # 若需要计算2的x次方,将下方^替换为**即可 return (2^x + 3*y) / z # 按顺序遍历x、y、z的所有取值组合,调用func1并收集结果 f1Ans = [func1(x,y,z) for x in range(3,7) for y in range(4,8) for z in range(5,9)]
内容的提问来源于stack exchange,提问作者TheTargetAudience
相关产品推荐
相关产品推荐

