Ho un numero di elenchi - ogni istanza di cui contiene 9 numeri in virgola mobile. Quello che ho effettivamente bisogno di fare è produrre una nuova lista che prende il primo elemento da ciascuna delle mie liste e li aggiunge come il mio primo elemento, quindi aggiungi il secondo elemento da ogni elenco come il mio secondo elemento, ecc.Modo idiomatico di "unire" più elenchi della stessa lunghezza in F #?
Quindi in modo efficace, se il mio dati simile a questa:
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]
poi ho bisogno di produrre un nuovo elenco Listx tale che
Listx = [a1 + a2 + ... + an; b1 + b2 + ... + bn; ... ]
Il numero di liste sarò la fusione può variare (a volte ho solo può avere una sola lista di 9 numeri, e talvolta più di 100 liste, sempre lunghe 9 elementi), quindi mi chiedevo se qualcuno ha qualche consiglio su un bel modo idiomatico di farlo?
Ho dato un'occhiata a this question e this one ma entrambi sembrano sostenere un passaggio intermedio di indicizzazione prima i miei elementi e quindi utilizzando groupby. Questo mi infastidisce perché a) ho la sensazione che ci potrebbe essere una soluzione più elegante per il mio caso particolare eb) le prestazioni potrebbero essere un problema più tardi - non voglio ottimizzarle prematuramente, ma non voglio nemmeno spararmi nel piede.
" * Le prestazioni potrebbero essere un problema più tardi, non voglio ottimizzarle prematuramente, ma non voglio nemmeno spararmi ai piedi. * "Sono d'accordo con questo sentimento, ma vale la pena notare che se incapsuli correttamente la funzionalità quindi modificare l'implementazione in un secondo momento se le prestazioni sono un problema dovrebbe essere indolore e non influenzare il resto del codice. – ildjarn