mio ingresso è:Converti tuple-stringhe a tuple di stringhe
input = ['(var1,)', '(var2,var3)']
risultato atteso è:
output = [('var1',), ('var2','var3')]
iterazione di ingresso e l'utilizzo di eval
/literal_eval
sulle tuple-stringhe non è possibile:
>>> eval('(var1,)')
>>> NameError: name 'var1' is not defined
Come posso convertire un articolo come '(var1,)'
a una tupla in cui gli oggetti interni sono trattati come stringhe anziché come variabili?
Esiste un modo più semplice rispetto alla scrittura di un parser o all'utilizzo della regex?
http://stackoverflow.com/questions/1810109/parsing-a-string-which-represents-a-list-of-tuples – Maroun
@ MarounMaroun Che non funziona come ho spiegato. Nella domanda che hai fornito, i float possono essere valutati. Stringhe come "var1" non possono. 'Literal_eval' genererà un' ValueError: malformed string' – runDOSrun