python中循环中的多重求和
我想用python解决这个方程: 我想解决这个问题,但每个问题的价值都会翻倍。不确定,为什么会这样python中循环中的多重求和,python,python-3.x,Python,Python 3.x,我想用python解决这个方程: 我想解决这个问题,但每个问题的价值都会翻倍。不确定,为什么会这样 c_var_i = [10, 13] y_t = [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6]] #y_t_i = c_var_i * (1+2+3+4+5) #y_t_i = [11, 15, 20, 35, 10, 33] k_i, I = 47, range(len(y_t)) J = range(len(c_var
c_var_i = [10, 13]
y_t = [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6]]
#y_t_i = c_var_i * (1+2+3+4+5)
#y_t_i = [11, 15, 20, 35, 10, 33]
k_i, I = 47, range(len(y_t))
J = range(len(c_var_i))
y = [sum(c_var_i[j] * [sum(y_t[i]) for i in I]) for j in J]
y
并获得此输出:
但应该是:210273
我先忽略了delta t。试试这个:
c_var_i = [10, 13]
y_t = [[1, 2, 3, 4, 5, 6],[1, 2, 3, 4, 5, 6]]
y = [c * sum(y_t[i]) for i,c in enumerate(c_var_i)]
print(y)
第二个版本使用zip
:
c_var_i = [10, 13]
y_t = [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6]]
y = [c * sum(y) for c, y in zip(c_var_i, y_t)]
print(y)
谢谢但是你应该有多个数组。比如(10*(1+2+3+4+5+6),13*(1+2+3+4+5+6))@FedowMakhnach嘿,我已经修复了你的第一个版本也可以工作。但是你的第二个版本看起来也不错。谢谢你的帮助