[PIPython] liste nidificate

Alex Martelli aleaxit
Ven 19 Nov 2004 15:16:40 CET


On Thursday 08 January 2004 05:26 pm, Ernesto wrote:
> Grazie Alex per la risposta. In effetti ho trovato un modo alternativo per
> lavorare con la mia stringa. Grazie per il suggerimento. Non essendo molto
> pratico di python, vorrei sapere come è possibile creare liste nidificate.
> So che utilizzando il comando: lista_nidificata=[a,b,[c,d],e] è possibile

Questo implicherebbe che a, b eccetera sono nomi di variabili.  Se vuoi
che siano costanti stringhe devi mettere apici attorno a ciascuna.

> creare una specifica lista nidificata, ma se volessi far leggere le
> seguenti rige da file: acgt
> acgg
> accc
> attt
> ed inserire ciascuna riga in una lista nidificata alla stregua di una
> matrice: lista=[[acgt],[acgg],[accc],[attt]]
> come devo fare?

Di nuovo, la sintassi che proponi tu vede acgt ecc come nomi di variabili.
Vuoi che siano singole costanti-stringa?  O liste di stringhe di un carattere 
ciascuno?  E` difficile immaginare cosa tu intenda!

Tiro ad indovinare che tu voglia che ciascun elemento di 'lista' sia a sua 
volta una lista di 4 stringhe ciascuna di un carattere.  Allora, ad esempio:

lista = []
file_aperto = file('nomedelfile')
for riga in file_aperto:
     sottolista = list(riga)
     sottolista.pop()		# togliamo il \n dalla fine
     lista.append(sottolista)
file_aperto.close()

Ovviamente puoi scrivere questo codice anche in modi MOLTO piu`
concisi, tipo:

lista = [ list(riga[:-1]) for riga in file('nomedelfile') ]

ma forse e` piu` chiaro nel modo piu` verboso, questione di gusti.


Alex




More information about the Python mailing list