Em Python, listas são objetos mutáveis, já strings são imutáveis. Assim, ao converter uma string em uma lista, você poderá modificar, adicionar e remover ca­rac­te­res in­di­vi­du­ais ou subseções dessa string.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

Python string to list: Métodos de conversão

Python string to list faz re­fe­rên­cia à conversão de uma string em uma lista. Ao realizar esse tipo de pro­ce­di­mento, você trans­forma uma string em uma estrutura de dados capaz de suportar operações de lista, ou seja, ma­ni­pu­la­ções de dados.

Aqui estão alguns dos métodos mais comuns para trans­for­mar strings em listas, em Python:

split()

A função Python split trans­forma uma string em uma lista de subs­trings, com base em um separador es­pe­cí­fico ou padrão. A sintaxe geral é essa:

string.split(sep=None, maxsplit=-1)
python
  • string: Trata-se da string original.
  • sep (opcional): Separador para a divisão da string. Se nenhum separador for es­pe­ci­fi­cado, o método dividirá a string em espaços em branco.
  • maxsplit (opcional): Define o número máximo de divisões a serem feitas. Se não for es­pe­ci­fi­cado ou definido como -1, todas as divisões possíveis serão feitas.

Observe este exemplo de aplicação da função split():

text = "blue,green,yellow,red"
print(f"List of colors = {text.split(',')}")
python

Este é o resultado obtido:

List of colors = ['blue', 'green', 'yellow', 'red']
python

O método f-strings tem o papel de formatar strings em Python. Ele aceita qualquer expressão como espaço reservado dentro de chaves. Portanto, é possível combinar o resultado da função split() com a string "List of colors = ".

list()

A função Python list é usada para converter várias es­tru­tu­ras de dados, incluindo strings, em listas. Quando você passa uma string como argumento para a função list(), cada letra ou caractere da string é ar­ma­ze­nado como um elemento separado na lista re­sul­tante.

text = "Hello"
char_list = list(text)
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o']
python

List Com­prehen­sion

List Com­prehen­sion é uma forma simples de se criar listas, baseada na com­bi­na­ção de loops e condições em uma única linha.

text = "Hello World"
char_list = [char for char in text]
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
python

No código acima estamos usando a string "Hello World" para criar uma lista e armazená-la em char_list. List Com­prehen­sion percorre cada caractere char na string text e os adiciona como elementos únicos à lista char_list.

String Slicing

String Slicing é outro método para trans­for­mar uma string em lista, em Python. Ele extrai subseções de uma string e as armazena como elementos em uma lista.

substring_list = string[start:stop:step]
python
  • start: Índice que determina onde o fa­ti­a­mento deve começar; a string começa no caractere na posição de­ter­mi­nada.
  • stop: Índice que determina onde o fa­ti­a­mento deve terminar; a sequência termina antes do caractere na posição de­ter­mi­nada.
  • step (opcional): Passo ou in­cre­mento com o qual o fa­ti­a­mento é feito; indica quantos ca­rac­te­res devem ser pulados entre cada caractere se­le­ci­o­nado.
def convert(string):
    list1 = []
    list1[:0] = string
    return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']
python

A função per­so­na­li­zada convert(string) converte uma string em uma lista de ca­rac­te­res. Quando a expressão list1[:0] = string é executada, os ca­rac­te­res in­di­vi­du­ais da string são inseridos na lista vazia list1.

re.findall()

A função re.findall() também pode ser usada como método para trans­for­mar uma string em lista, em Python. Ela encontra todas as cor­res­pon­dên­cias de uma expressão regular em uma string e retorna-as como uma lista.

import re
text = "123 and 456 are numbers."
numbers_list = re.findall(r'\d+', text)
print(numbers_list)
# Output: ['123', '456']
python

O regex r'\d+' busca por uma ou mais sequên­cias con­se­cu­ti­vas de dígitos em um texto e retorna cada sequência como um elemento separado em uma lista.

enumerate()

A função embutida de Python, enumerate(), permite que você obtenha tanto o índice quanto o valor de cada elemento de uma estrutura de dados iterável. Para criar uma lista contendo apenas valores (ou seja, ca­rac­te­res de uma string), você pode usar enumerate() em conjunto com List Com­prehen­sion:

text = "Python"
char_list = [char for index, char in enumerate(text)]
print(char_list)
# Output: ['P', 'y', 't', 'h', 'o', 'n']
python

JSON

O módulo JSON é usado para ler e gravar dados JSON, assim como para converter es­tru­tu­ras de dados Python para o formato JSON, e vice-versa. Ao funcionar como um método de trans­for­mar strings em listas, o módulo JSON in­ter­preta uma string como um objeto Python.

import json
json_string = '[1, 2, 3, 4, 5]'
list_from_json = json.loads(json_string)
print(list_from_json)
# Output: [1, 2, 3, 4, 5]
python

A função json.loads() in­ter­preta a string JSON e a converte no objeto Python cor­res­pon­dente, neste caso, em uma lista.

ast.literal

O módulo ast (Abstract Syntax Trees) permite avaliar uma string como uma estrutura de dados Python ao in­ter­pretá-la como um literal. Se você tiver uma string em um formato literal válido (como uma lista, um di­ci­o­ná­rio, um número etc.), poderá usar ast.literal_eval() para converter, com segurança, essa string no objeto Python cor­res­pon­dente.

import ast
string = "[1, 2, 3, 4, 5]"
my_list = ast.literal_eval(string)
print(my_list)
# Output: [1, 2, 3, 4, 5]
python

Este artigo do nosso Digital Guide explica como converter uma string em datetime em Python.

Ir para o menu principal