La funzione literal_eval

Per convertire un'espressione da stringa alfanumerica a lista ( o tupla ) utilizzo la funzione literal_eval della libreria ast.

from ast import literal_eval
y=literal_eval(x)

Dove x è l'espressione in formato stringa da trasformare in lista.

Un esempio pratico

Assegno alla variabile x una stringa contenente l'espressione logica di una lista di liste.

x='[[2,-1,0],[1,1,1],[0,1,-1]]'

Il valore destro della variabile è tra apici. Quindi, si tratta di una stringa. Non è una lista.

Per convertirlo in una lista, carico in memoria la funzione literal_eval() del modulo ast.

from ast import literal_eval

Poi la uso per trasformare il valore destro della variabile x da stringa a lista.

Il risultato finale lo assegno alla variabile y.

y=literal_eval(x)

Il valore della variabile y è il seguente:

[[2, -1, 0], [1, 1, 1], [0, 1, -1]]

Questo valore non è racchiuso tra apici o doppi apici. Pertanto, è una lista.

Ho convertito la stringa in lista

Posso utilizzare lo stesso metodo anche per convertire le espressioni da formato stringa in tupla o dizionario.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le liste su Python

  1. Cos'è una lista
  2. Come estrarre elementi
  3. Come eliminare elementi
  4. Come aggiungere elementi
  5. Come contare le occorrenze in una lista
  6. Come cercare un elemento nella lista
  7. Come ordinare una lista
  8. Come invertire le posizioni della lista
  9. Come usare la list comprehension
  10. Come fare una lista nidificata
  11. Come convertire una tupla in lista