[PIPython] ancora colonne!
Nicola Paolucci
nick
Ven 19 Nov 2004 15:16:43 CET
ciao,
> Ho provato sia lo script di Nick che quello di Simone ed ho notato che in
> quello di Simone qualcosa non va bene, in quanto stampa i dati su file ma
> non
> in colonne.
> A dire la verita' non e' che abbia capito tanto lo script di Nick e
> specialmente l'istruzione data al loop. Mi piacerebbe capirla, anche
> perche' ho un numero variabile di colonne.
l = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
trasposta = apply(zip,l)
print trasposta
[('1', '4', '7'), ('2', '5', '8'), ('3', '6', '9')]
L'idioma apply(zip,x) e' una delle maniere piu' semplici per generare una
matrice trasposta (scambiare righe per colonne di una matrice).
Dopo diche' puoi semplicemente iterare sulla lista delle tue nuove righe,
che sono gia' pronte da stampare come piace a te.
for riga in trasposta:
#scrivisu file
Il frammento '\t'.join(line) + '\n' nel loop for crea una riga con i dati
separati da tab e conclude tutto con un acapo.
Rileggendo quello che ti serve nota che zip taglia le parti di matrice che
non sono simmetriche. Se mi viene in mente una maniera elegante di
risolvere te la scrivo.
ciao,
Nick
More information about the Python
mailing list