У меня есть несколько списков, каждый из которых содержит 9 чисел с плавающей запятой. По сути, мне нужно создать один новый список, который берет первый элемент из каждого из моих списков и складывает их вместе как мой первый элемент, затем добавляет второй элемент из каждого списка как мой второй элемент и т. Д.
Так эффективно, если мои данные выглядят примерно так:
List1 = [a1; b1; c1; d1; e1; f1; g1; h1; i1]
List2 = [a2; b2; c2; d2; e2; f2; g2; h2; i2]
...
Listn = [an; bn; cn; dn; en; fn; gn; hn; in]
Затем мне нужно создать новый список Listx, чтобы
Listx = [a1 + a2 + ... + an; b1 + b2 + ... + bn; ... ]
Количество списков, которые я буду объединять, будет варьироваться (иногда у меня может быть только один список из 9 номеров, а иногда более 100 списков, всегда длиной 9 элементов), поэтому мне было интересно, есть ли у кого-нибудь совет по хорошему идиоматическому способу делать это?
Я просмотрел этот вопрос и этот, но оба появляются чтобы отстаивать промежуточный шаг - сначала индексировать мои элементы, а затем использовать groupby. Меня это беспокоит, потому что а) у меня такое чувство, что для моего конкретного случая может быть более элегантное решение и б) производительность может быть проблемой позже - я не хочу преждевременно оптимизировать, но я также не хочу стрелять в себя в ногу.