Как организовать цикл в данном случае? Доброй ночи. Вопрос таков -- на вход подаются два массива. В одном просто 60 элементов-чисел (reportsarray), а другой (freqarray) задается в текстовом файле, причем со временем количество элементов в этом файле буду менять. Какие добавлять, какие-то удалять (тоже числа). Нужно сделать так, чтобы каждый элемент этого изменяющегося массива freqarray умножался на каждый из элементов массивa reportsarray. По отдельности. И на выходе получилось так: в файле n значений --> на выходе n массивов. Вот тут пример кода, когда в файле задано 3 значения (работает). Никак не пойму, как в цикл запихнуться, чтоб можно было при энном количестве значений получить n массивов на выходе...def getx(timearray, freqarray): xlist0 = [] xlist1 = [] xlist2 = [] for i in timearray: i0 = i * freqarray[0] i1 = i * freqarray[1] i2 = i * freqarray[2] xlist0.append(i0) xlist1.append(i1) xlist2.append(i2) print(len(xlist0)) print(xlist0) print(len(xlist1)) print(xlist1) print(len(xlist2)) print(xlist2)
Вы можете использовать цикл для итерации по каждому элементу массива freqarray и выполнить необходимые операции. Вот пример того, как вы можете изменить ваш код, чтобы он работал для любого количества элементов в массиве freqarray:
def getx(timearray, freqarray): xlists = {i: [] for i in range(len(freqarray))} for j in range(len(freqarray)): for i in timearray: xlist = i * freqarray[j] xlists[j].append(xlist) for key in xlists: print(len(xlists[key])) print(xlists[key])
Этот код создаст словарь xlists, где ключи будут соответствовать индексам элементов массива freqarray. Далее он будет проходить по каждому элементу массива freqarray и умножать его на каждый элемент массива timearray. Результаты будут сохраняться в соответствующий список в словаре xlists.
Обратите внимание, что элементы списков будут сохраняться в порядке, в котором они были заданы в исходном массиве freqarray. В конце кода будет осуществлен вывод всех полученных списков.
Вы можете использовать цикл для итерации по каждому элементу массива freqarray и выполнить необходимые операции. Вот пример того, как вы можете изменить ваш код, чтобы он работал для любого количества элементов в массиве freqarray:
def getx(timearray, freqarray):xlists = {i: [] for i in range(len(freqarray))}
for j in range(len(freqarray)):
for i in timearray:
xlist = i * freqarray[j]
xlists[j].append(xlist)
for key in xlists:
print(len(xlists[key]))
print(xlists[key])
Этот код создаст словарь xlists, где ключи будут соответствовать индексам элементов массива freqarray. Далее он будет проходить по каждому элементу массива freqarray и умножать его на каждый элемент массива timearray. Результаты будут сохраняться в соответствующий список в словаре xlists.
Обратите внимание, что элементы списков будут сохраняться в порядке, в котором они были заданы в исходном массиве freqarray. В конце кода будет осуществлен вывод всех полученных списков.