У меня есть несколько списков, каждый из которых содержит 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. Это меня задевает, потому что я чувствую, что может быть более элегантное решение для моего конкретного случая, и б) производительность может быть проблемой позже - я не хочу оптимизировать преждевременно, но я также не хочу снимать себя в ноге.