ordinamento alfabetico crescente intestazioni colonne hw2bis es. 3

f
flattak (270 points)
1 3 4
asked Mar 30, 2019 in HW2bis by flattak (270 points)
retagged Mar 30, 2019 by flattak
Ciao a tutti!

sto finendo Hw2bis esercizio 3, sembra che le funzioni di aggregazione funzionino bene e i dati calcolati vengano inseriti nelle caselle corrette.

Purtroppo su 2 file sto riscontrando un problema che non riesco a risolvere, le intestazioni di colonna calcolate in alcuni file non vengono messe nell'ordine giusto.

ci sono tutte le intestazioni che dovrebbero esserci ma alcune sono nell'ordine sbagliato. per fare l'ordinamento alfabetico ho usato il sort con la chiave str.

Preciso di avere implementato anche qualche riga di codice che effettuava una comparazione str() delle intestazioni di colonne e in seguito a questa comparazione l'ordinamento era ancora diverso cmq diverso da quello che dovrebbe essere il risultato.

ringrazio se qualcuno può darmi una risposta che possa aiutarmi a superare il problema.

Ho poi verificato che il risultato del sorting è diverso se si usa sort o sorted() con la stessa chiave, il che mi sembra assurdo, il risultato in entrambi i casi non è quello richiesto dall'esercizio.
grazie
765 views

1 Answer

andrea.sterbini (172680 points)
511 927 1776
answered Mar 31, 2019 by andrea.sterbini (172,680 points)
Se consegni posso darci un'occhiata.

ordini la stringa ottenuta concatenando le tuple oppure prima ordini la lista di tuple e poi crei le stringhe? vedi che dice l'esercizio
f
flattak (270 points)
1 3 4
commented Apr 2, 2019 by flattak (270 points)
Veramente professore utilizzo l'indicizzazione per trovare la riga e la colonna nella quale il dato va inserito (tanto si tratta di combinazioni uniche) pertanto lascio le intestazioni di riga e di colonna del tipo in cui sono state trasformate al momento della lettura del file secondo quanto indicato nel file stesso.

Poi trasformo tutto in string solo al momento di scrivere il file! pensavo che usando il sort con chiave str provvedesse pythone a ordinare come se fosse una stringa. D'altra parte l'ordinamento con questo sistema nella maggior parte dei file viene corretto.

Nel mio programma se trasformo in string le intestazioni di riga e di colonna poi quando il programma va ad inserire i dati non trova la riga o la colonna nella quale il dato deve essere inserito.
andrea.sterbini (172680 points)
511 927 1776
commented Apr 2, 2019 by andrea.sterbini (172,680 points)
Le intestazioni di riga/colonna vanno ordinate prima di essere concatenate (se ricordo bene). Se prima le concateni e poi le ordini ottieni un ordine diverso.
f
flattak (270 points)
1 3 4
commented Apr 2, 2019 by flattak (270 points)
si grazie professore, infatti il programma ordina prima di concatenare!