[Python] lista......

Alan Franzoni alan.franzoni a gmail.com
Mar 17 Apr 2007 11:34:28 CEST


Il 16/04/07, fabio fossati<fabiofos83 a yahoo.it> ha scritto:

> Il problema è il seguente, io apro un file di testo in cui sono contenuti
> numeri in virgola mobile (float). Ovviamente nel file questi numeri sono
> memorizzati come stringhe. Il mio scopo è di convertire ciascuna stringa in
> un numero float, memorizzandoli in una lista (myList).

Dunque... lasciando perdere il resto del tuo messaggio (perché non ho
capito al 100% i problemi che ti sei posto), partiamo dall'analisi del
problema.

Tu hai un file chiamato mapping.txt in cui sono contenute delle
stringhe che rappresentano dei numeri float. Ogni stringa sarà
separata da un'altra da un certo carattere, che io suppongo possa
essere, ad esempio, il return. Se il carattere separatore è un altro
si può fare comunque, modificando leggermente il programma.

Il codice è semplicemente questo:

f = open("/tmp/mapping.txt", "rb")
my_list = [float(line) for line in f]

Se le linee sono 'impure' e non riesci a convertirle al volo, dovrai
ideare qualche sistema di 'filtraggio' per eliminare i caratteri che
avanzano. Se il file è abbastanza piccolo comunque puoi
tranquillamente caricarlo tutto in memoria e usare il metodo split()
delle stringhe, passando il carattere separatore, per crearti una
lista al volo.



-- 
Alan Franzoni <alan.franzoni a gmail.com>
-
GPG Key Fingerprint:
5C77 9DC3 BD5B 3A28 E7BC 921A 0255 42AA FE06 8F3E


Maggiori informazioni sulla lista Python