Ho stringhe che assomigliano a questo:parsing di una stringa che rappresenta una lista di tuple
"(8, 12.25), (13, 15), (16.75, 18.5)"
e vorrei convertire ognuno di loro in una struttura dati pitone. Preferibilmente una lista (o tupla) di tuple contenenti una coppia di valori float.
Potrei farlo con eval("(8, 12.25), (13, 15), (16.75, 18.5)")
che mi dà una tupla di tuple, ma non penso che la valutazione ingenua di informazioni esterne sarebbe una decisione saggia.
Quindi mi chiedevo come fosse un'elegante soluzione pitonica.
jfyi, questo potrebbe non essere robusto per avere un unico tuple nella lista: cosa succederebbe se tu inserissi "(8, 12.25)" .Questi otterresti solo una tupla invece di una tupla in una tupla Credo che otterresti la tupla annidata desiderata se l'input fosse "(8, 12.25), "(nota la virgola finale), ma non ho provato questo perché non ho installato python 2.6 su questa macchina – Tom
Buona cattura Tom. Non ci avevo ancora pensato e sarebbe stato effettivamente un problema in la mia situazione, lo controllerò dopo averlo analizzato. Grazie per l'avviso, purtroppo il metodo non è disponibile in python2.5 ma nel mio caso va bene così come lo sto usando in uno script di importazione dei dati del motore di app e non nel motore stesso dell'app. – tosh
+1: non conoscevo 'ast.literal_eval' prima - ed è così comodo! –