我正在解决一个我试图填写新列表的问题param_list。其元素的形成逻辑如下:
由于我的代码的实现,只有第一个元素被添加到 list poly_0 = x_j - x_col_list[0]。他是平等的0.157 - 0 = 0
代码有什么问题?
编码:
params_list = []
x_j = 0.157
x_col_list = [0.0, 0.3142, 0.6283]
for args in range(order): # args = 0,1,2
poly_0 = x_j - x_col_list[0]
if not args:
params_list.append(poly_0)
poly_n = (x_j - x_col_list[args])
if not args:
param_list.append(poly_n)
poly_0 = poly_n
print(params_list)

无需编写条件语句。寻找一般情况,而不是寻找例外。
product累积当前产品。x_i贯穿从 的值x_col_list。params_list- 存储结果 - 累积产品:完全没有循环是可能的。itertools.accumulate计算连续乘积:
你有两个错误:
必要的:
此外,
order有必要在 3 上“手动”曝光。对我有用的完整代码如下。输出:[0.157,-0.15719999999999998,-0.47129999999999994]