Converti una stringa in una lista in Python

Azaz Farooq 10 ottobre 2023
  1. Converti una stringa in una lista in Python usando la funzione list()
  2. Converti una stringa in una lista in Python usando il metodo split()
  3. Converti una stringa in una lista in Python usando la funzione eval()
  4. Converti una stringa in una lista in Python usando il metodo ast
Converti una stringa in una lista in Python

L’lista di Python è modificabile; in modo che i suoi elementi possano essere sovrascritti, modificati e cancellati in qualsiasi momento durante l’esecuzione del programma. La stringa è una combinazione di caratteri racchiusi tra virgolette singole o doppie e non è modificabile.

In questo articolo, mostreremo diversi metodi per convertire una stringa in una lista in Python.

Converti una stringa in una lista in Python usando la funzione list()

La funzione list() converte la stringa in una lista in Python.

Prendiamo il codice seguente come esempio:

test_str = "Python"
list(test_str)

Produzione:

['P', 'y', 't', 'h', 'o', 'n']

La funzione list() accetta una stringa come argomento e la converte in una lista. Ogni carattere nella stringa diventa il singolo elemento nell’lista.

Converti una stringa in una lista in Python usando il metodo split()

Prendiamo una stringa in valori separati da virgole.

string = "x,y,z"

Ora dividiamo i valori della stringa negli elementi della lista.

Il codice di esempio completo è il seguente:

string = "x,y,z"
output = string.split(",")
print(output)

Produzione:

['x', 'y', 'z']

L’esempio precedente divide la stringa in corrispondenza del delimitatore dato, ,, in una lista. Se il delimitatore non viene fornito, utilizza lo spazio bianco come valore predefinito.

Converti una stringa in una lista in Python usando la funzione eval()

Questo metodo convertirà la stringa in una lista solo quando la stringa è sicura; significa che la stringa nella funzione eval() è analizzata e determinata come un’espressione Python. Se non può essere valutato come un’espressione Python, genererà un errore. Non è un metodo pitonico. Potremmo usare i metodi split() o ast invece di questo.

Prendiamo una stringa specificata per questo metodo.

string = "['xxx','yyy','zzz']"

Il codice di esempio completo è il seguente:

string = "['xxx','yyy','zzz']"
output = eval(string)
print(output)

Produzione:

['xxx', 'yyy', 'zzz']

Converti una stringa in una lista in Python usando il metodo ast

Questo metodo utilizzerà la libreria ast (Abstract Syntax Trees). Con questa libreria, useremo la funzione eval() per convertire una stringa in una lista.

Il codice di esempio completo è il seguente:

import ast

string = "['xxx','yyy','zzz']"
output = ast.literal_eval(string)
print(output)

Produzione:

['xxx', 'yyy', 'zzz']

Articolo correlato - Python List

Articolo correlato - Python String