Добро пожаловать! Я предполагаю, что, возможно, есть еще немного к этому запросу, но если вы хотите добавить два списка так, как вы описываете, вы можете использовать zip .
Настройка списков
x = [2, 3, 4]
y = [5, 6, 7]
Вы можете добавить их следующим образом
print([sum(k) for k in zip(x, y)])
Вы получите этот вывод
[7, 9, 11]
РЕДАКТИРОВАТЬ - Добавление к учету для различных длин списка
Исходный запрос из [2, 3, 4] и [5, 6, 7, 8] имел результат [7, 9, 11,8]. Чтобы достичь этого результата с 8 в конце, первый список должен быть дополнен 0. Вы заметите, что в приведенном выше 8 было перенесено.
Настройка списков
x = [2, 3, 4]
y = [5, 6, 7, 8]
Добавление списков в список
ls_start = []
ls_start.append(x)
ls_start.append(y)
Из списка списков определяют максимальную длину списков
max_len = max(map(len, ls_nums))
Мы будем использовать это, чтобы выяснить, насколько «дополнить» более короткие списки с помощью
Создать список для хранения «заполненных» списков, это будет последний список, который мыиспользуйте для перекрестного сложения
ls_final = []
Перебирайте списки, добавляя те, которые нужно заполнить
for ls in ls_nums:
if len(ls) < max_len:
extend = max_len - len(ls)
for add in range(extend):
ls.append(0)
ls_final.append(np.array(ls))
else:
ls_final.append(np.array(ls))
Если вы посмотрите на ls_final, вы увидите, что он содержит
[array([2, 3, 4, 0]), array([5, 6, 7, 8])]
Добавить список массивов
ls_sum = np.zeros(max_len)
for ls in ls_final:
ls_sum += ls
Если вы посмотрите на ls_sum, вы увидите
array([ 7., 9., 11., 8.])
Вы можете преобразовать в список
ls_sum.tolist()
Чтобы получить это
[7.0, 9.0, 11.0, 8.0]
Этот метод допускает любое количество списков.