lascia supporre Ho un (testo) file con la seguente struttura (nome, punteggio):trattamento dei dati in modo efficiente in file di testo
a 0
a 1
b 0
c 0
d 3
b 2
E così via. Il mio obiettivo è di sommare i punteggi per ogni nome e ordinarli dal punteggio più alto al punteggio più basso. Quindi, in questo caso, desidero il seguente output:
d 3
b 2
a 1
c 0
In anticipo non so quali nomi saranno nel file.
Mi chiedevo se esiste un modo efficace per farlo. Il mio file di testo può contenere fino a 50.000 voci.
L'unico modo in cui riesco a pensare è solo iniziare dalla riga 1, ricordare quel nome e poi andare su tutto il file per cercare quel nome e la somma. Questo sembra orribilmente inefficiente, quindi mi chiedevo se c'è un modo migliore per farlo.
Qualsiasi tentativo da parte vostra? –
@AvinashRaj Come affermato nella domanda, conosco un modo per farlo, ma ero più alla ricerca di una soluzione migliore. Posso aggiungere qualche pseudocodice nella mia domanda, se vuoi che lo faccia. –
Puoi usare 'ordinato (split)' con lo stesso 'key' (essendo le lettere) – MaTh