Python string to list: Transformar string em listas em Python
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 caracteres individuais ou subseções dessa string.
Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!
- Domínio
- SSL Wildcard
- Suporte 24 horas
Python string to list: Métodos de conversão
Python string to list faz referência à conversão de uma string em uma lista. Ao realizar esse tipo de procedimento, você transforma uma string em uma estrutura de dados capaz de suportar operações de lista, ou seja, manipulações de dados.
Aqui estão alguns dos métodos mais comuns para transformar strings em listas, em Python:
split()
A função Python split transforma uma string em uma lista de substrings, com base em um separador especí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 especificado, 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 especificado 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(',')}")
pythonEste é o resultado obtido:
List of colors = ['blue', 'green', 'yellow', 'red']
pythonO 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 estruturas de dados, incluindo strings, em listas. Quando você passa uma string como argumento para a função list()
, cada letra ou caractere da string é armazenado como um elemento separado na lista resultante.
text = "Hello"
char_list = list(text)
print(char_list)
pythonList Comprehension
List Comprehension é uma forma simples de se criar listas, baseada na combinaçã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']
pythonNo código acima estamos usando a string "Hello World"
para criar uma lista e armazená-la em char_list
. List Comprehension percorre cada caractere char
na string text
e os adiciona como elementos únicos à lista char_list
.
String Slicing
String Slicing é outro método para transformar 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 fatiamento deve começar; a string começa no caractere na posição determinada. -
stop
: Índice que determina onde o fatiamento deve terminar; a sequência termina antes do caractere na posição determinada. -
step
(opcional): Passo ou incremento com o qual o fatiamento é feito; indica quantos caracteres devem ser pulados entre cada caractere selecionado.
def convert(string):
list1 = []
list1[:0] = string
return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']
pythonA função personalizada convert(string)
converte uma string em uma lista de caracteres. Quando a expressão list1[:0] = string
é executada, os caracteres individuais 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 transformar uma string em lista, em Python. Ela encontra todas as correspondências 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']
pythonO regex r'\d+'
busca por uma ou mais sequências consecutivas 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, caracteres de uma string), você pode usar enumerate()
em conjunto com List Comprehension:
text = "Python"
char_list = [char for index, char in enumerate(text)]
print(char_list)
# Output: ['P', 'y', 't', 'h', 'o', 'n']
pythonJSON
O módulo JSON é usado para ler e gravar dados JSON, assim como para converter estruturas de dados Python para o formato JSON, e vice-versa. Ao funcionar como um método de transformar strings em listas, o módulo JSON interpreta 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]
pythonA função json.loads()
interpreta a string JSON e a converte no objeto Python correspondente, 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 interpretá-la como um literal. Se você tiver uma string em um formato literal válido (como uma lista, um dicionário, um número etc.), poderá usar ast.literal_eval()
para converter, com segurança, essa string no objeto Python correspondente.
import ast
string = "[1, 2, 3, 4, 5]"
my_list = ast.literal_eval(string)
print(my_list)
# Output: [1, 2, 3, 4, 5]
pythonEste artigo do nosso Digital Guide explica como converter uma string em datetime em Python.