Mam wiele list - każda instancja zawiera 9 liczb zmiennoprzecinkowych. To, co muszę zrobić, to stworzyć jedną nową listę, która pobiera pierwszy element z każdej z moich list i dodaje je jako mój pierwszy element, a następnie dodaje drugi element z każdej listy jako mój drugi element, itd.Idiomatyczny sposób na "scalenie" wielu list o tej samej długości w F #?
skutecznie, jeśli moje dane wygląda mniej więcej tak:
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]
Potem trzeba produkować nową listę Listx takie, że
Listx = [a1 + a2 + ... + an; b1 + b2 + ... + bn; ... ]
liczbę wykazów będę łączących się różnić (czasami może tylko mieć jedną listę 9 liczb, a czasem więcej niż 100 listy, zawsze o długości 9 elementów), więc zastanawiałem się, czy ktoś ma jakąś radę na temat idiomatycznego sposobu robienia tego?
Spojrzałem na this question i this one, ale obie wydają się popierać pośredni krok indeksowania moich elementów, a następnie korzystania z groupby. To budzi mnie, ponieważ a) mam wrażenie, że może być bardziej eleganckie rozwiązanie dla mojej konkretnej sprawy i b) wydajność może być problemem później - nie chcę optymalizować przedwcześnie, ale też nie chcę strzelać do siebie w stopę.
" * Wydajność może być problemem później - nie chcę optymalizować przedwcześnie, ale nie chcę też strzelać sobie w stopę. * "Zgadzam się z tym sentymentem, ale warto zauważyć, że jeśli odpowiednio obudujesz funkcjonalność, która później zmienia implementację, jeśli wydajność jest problemem, powinna być bezbolesna i nie wpływać na resztę kodu. – ildjarn