Python string to list: como converter strings em listas
Em Python, as listas são objetos mutáveis, enquanto as cadeias são imutáveis. Ao converter uma cadeia numa lista, pode modificar, adicionar ou eliminar caracteres individuais ou subseções da cadeia.
Python string para lista: métodos de conversão
Por «Python string to list» entende-se a conversão de uma cadeia de caracteres numa lista. Neste processo, a cadeia é transformada numa estrutura de dados que suporta operações com listas, o que permite vários tipos de manipulação de dados.
A seguir, apresentamos os métodos mais comuns para converter uma cadeia de texto numa lista:
split()
O método Python split é responsável por dividir uma cadeia numa lista de subcadeias com base num separador ou padrão específico. Esta é geralmente a sua sintaxe:
string.split(sep=None, maxsplit=-1)pythonstring: é a cadeia original.sep(opcional): é o separador em que a cadeia é dividida. Se nenhum separador for especificado, o método divide a cadeia em espaços.maxsplit(opcional): define o número máximo de divisões a serem realizadas. Se não for especificado ou for definido como -1, todas as divisões possíveis serão realizadas.
Este exemplo
text = "blue,green,yellow,red"
print(f "List of colors = {text.split(',')}")pythonresulta em
List of colors = ['blue', 'green', 'yellow', 'red']pythonAs f strings são um método do Python string format e permitem incluir qualquer expressão como marcador de posição entre chaves. Assim, neste caso, é possível unir o resultado da função split() com a cadeia "List of colors = " (lista de cores).
list()
A função Python list é utilizada para converter diferentes estruturas de dados, incluindo cadeias, em listas. Ao passar uma cadeia como argumento para a função list(), cada letra ou caractere da cadeia é armazenado como um elemento independente na lista resultante.
text = "Hello"
char_list = list(text)
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o']pythonCompreensão de listas
A função List Comprehension é uma forma concisa de criar listas combinando loops e condições numa única linha de código. Por exemplo:
text = "Hello World"
char_list = [char for char in text]
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']pythonNeste caso, foi utilizada a cadeia "Hello World". A partir dela, foi criada uma lista e armazenada em char_list. A List Comprehension percorreu então cada letra char da cadeia text e adicionou-a como um único elemento à lista char_list.
Corte de cadeias
O string slicing ou corte de cadeia é outro dos métodos Python string to list. Ele se encarrega de extrair as sequências parciais de uma cadeia e guardá-las como elementos de uma lista.
substring_list = string[start:stop:step]pythonstart: o índice em que começa o corte; a parte da cadeia começa no caractere situado nesta posição.stop: o índice em que termina o corte; a sequência termina antes do caractere localizado nesta posição.step(opcional): o passo ou incremento com que o corte é realizado; especifica quantos caracteres são omitidos entre cada caractere selecionado.
def convert(string):
list1 = []
list1[:0] = string
return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']pythonconvert(string) é uma função personalizada que converte uma cadeia de caracteres numa lista de caracteres. Quando a expressão list1[:0] = string é executada, cada caractere da cadeia é adicionado à lista vazia list1.
re.findall()
A função re.findall() é um método Python string to list que pode ser usado para encontrar todas as correspondências de uma expressão regular numa cadeia e devolvê-las como uma lista.
import re
text = "123 and 456 are numbers."
numbers_list = re.findall(r'\d+', text)
print(numbers_list)
# Output: ['123', '456']pythonA expressão regular r'\d+' procura um ou mais dígitos consecutivos no texto e os retorna como elementos separados numa lista.
enumerar()
enumerate() é uma função integrada do Python que serve para obter tanto o índice como o valor de cada elemento numa estrutura de dados iterável. Se quiser que a lista contenha apenas os valores (ou seja, os caracteres da cadeia), pode aplicar enumerate() juntamente com uma List Comprehension, conforme mostrado a seguir:
text = "Python"
char_list = [char for index, char in enumerate(text)]
print(char_list)
# Output: ['P', 'y', 't', 'h', 'o', 'n']pythonJSON
JSON é um módulo utilizado para ler e escrever dados JSON e para converter estruturas de dados Python no formato JSON e vice-versa. Com a função Python string to list, o módulo JSON permite converter uma string num objeto Python que poderá utilizar no seu código.
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() analisa a cadeia JSON e converte-a num objeto Python correspondente, neste caso uma lista.
ast.literal
O módulo ast (Abstract Syntax Trees) permite avaliar uma cadeia numa estrutura de dados Python em que a cadeia é interpretada como um literal Python. Se tiver uma cadeia num formato literal Python válido (por exemplo, uma lista, um dicionário, um número, etc.), pode utilizar ast.literal_eval() para converter essa cadeia no objeto Python correspondente de forma segura.
import ast
string = "[1, 2, 3, 4, 5]"
my_list = ast.literal_eval(string)
print(my_list)
# Output: [1, 2, 3, 4, 5]pythonNo Guia Digital também explicamos como converter string para datetime. 48ad351df531a73c248bc5b7d38e1fa6