Операции со списками Python разной длины
Есть 2 списка. В koefs_list - коэффициенты. Берем их и перемножаем с параметрами списка parameters_list.
Причем надо так:
алгоритм отмеривает длину
orderизparameters_listперемножает с коэффициентами: каждый элемент со своим коэффициентом по порядку из
koefs_listскладывает полученные множители, прибавляя к ним
y_0результат кладет в новый список
polinom_list.операции с 1 по 4 проделывает со следующими элементами
parameters_listв пределах длиныorder. И так - до конца спискаparameters_list.
Сейчас у меня применена функция zip. Однако трудности с остальным.
Код:
y_0 = 0
summa_prod= y_0 + 0
order = 3
polinom_list = []
koefs_list = [3,4,5]
parameters_list = [1,1,1,2,2,2,3,3,3]
for koefs, params in zip(koefs_list, parameters_list):
product = koefs*params
summa_prod +=product
Ответы (1 шт):
мне кажется, вы используете неверный инструментарий. вам, вероятно, подойдут методы работы с табличными данными. например, через pandas:
import pandas as pd
order = 3
y_0 = 0
koefs_list = [3,4,5]
parameters_list = [1,1,1,2,2,2,3,3,3]
df = pd.DataFrame({"params":parameters_list, "koefs":koefs_list*int(len(parameters_list)/len(koefs_list))})
df["res"] = df["params"]*df["koefs"]+y_0
print(df)
params koefs res
0 1 3 3
1 1 4 4
2 1 5 5
3 2 3 6
4 2 4 8
5 2 5 10
6 3 3 9
7 3 4 12
8 3 5 15