Converter uma string em lista em Python

  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

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

  • Escrever lista para CSV em Python
  • Inverter uma lista em Python
  • Artigo relacionado - Python String

  • Encontrar o índice de um item na lista Python
  • Como ler um arquivo linha por linha para uma lista em Python