Converter uma string em lista em Python

Azaz Farooq 30 janeiro 2023
  1. Converter string em lista em Python utilizando a função list()
  2. Converter string em lista em Python utilizando o método split()
  3. Converter String em Lista em Python utilizando a função eval()
  4. Converter String para Lista em Python utilizando o método ast
Converter uma string em lista em Python

A lista Python é mutável; para que os seus elementos possam ser substituídos, modificados, e apagados a qualquer momento durante a execução do programa. A string é uma combinação de caracteres entre aspas simples ou duplas, e não é mutável.

Neste artigo, iremos demonstrar diferentes métodos para converter uma string numa lista em Python.

Converter string em lista em Python utilizando a função list()

A função list() converte a string numa lista em Python.

Tomemos o código abaixo como um exemplo:

test_str = "Python"
list(test_str)

Resultado:

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

A função list() toma uma string como argumento e converte-a numa lista. Cada carácter da string torna-se o elemento individual da lista.

Converter string em lista em Python utilizando o método split()

Tomemos um string em valores separados por vírgula.

string = "x,y,z"

Agora dividimos os valores da string nos elementos da lista.

O código completo do exemplo é o seguinte:

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

Resultado:

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

O exemplo acima divide a string no delimitador dado, ,, para uma lista. Se o delimitador não for dado, utiliza o espaço branco como valor por defeito.

Converter String em Lista em Python utilizando a função eval()

Este método só converterá a string numa lista quando a string estiver segura; significa que a string na função eval() é parsed e determinada como uma expressão Python. Se não puder ser avaliada como uma expressão Python, gerará um erro. Não é um método pítonico. Poderíamos utilizar métodos split() ou ast em vez disto.

Tomemos uma string especificada para este método.

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

O código completo do exemplo é o seguinte:

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

Resultado:

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

Converter String para Lista em Python utilizando o método ast

Este método utilizará a biblioteca ast (Abstract Syntax Trees). Com esta biblioteca, utilizaremos a função eval() para converter uma string para uma lista.

O código completo do exemplo é o seguinte:

import ast

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

Resultado:

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

Artigo relacionado - Python List

Artigo relacionado - Python String