Dividir para conquistar: o uso da função split() em Python
- #Python
Em muitas situações, nos deparamos com a necessidade de dividir uma string em substrings para obtermos o resultado desejado em um programa. Assim, nesse artigo, abordaremos como resolver esse problema em Python usando a função split().
Entendendo a função split() em Python
Em Python, a função split separa uma string em uma lista de elementos(as chamadas substrings) que compõem a entrada original.
O que a função faz basicamente é percorrer os caracteres da string e truncar(“cortar”) o pedaço quando encontra um espaço em branco ou outro separador específico. Vamos entender melhor, para isso, primeiramente temos que analisar a sintaxe dela:
str.split(sep=None,maxsplit=-1)
A função tem 2 parâmetros opcionais:
- sep: refere-se ao separador. Este pode ser um caractere como vírgula, ponto, ou até mais de um caractere, a exemplo de “><”. Por padrão, a função separa usando espaços em branco como referência.
- maxsplit: determina o número máximo de cortes que pode ser feito. Se não informado, não haverá número máximo de cortes. É importante ressaltar que para um número n de cortes, o tamanho da lista será n + 1.
Vamos observar alguns casos de uso por meio de exemplos:
1) Separando a String usando os espaços como referência:
str = "Os cursos da DIO são muito bons"
print(str.split())
>>['Os', 'cursos', 'da', 'DIO', 'são', 'muito', 'bons']
- Como não foi informado nenhum parâmetro, a função irá separar a string onde ouver espaços em branco.
2)Usando um separador específico para separar a String:
str2 = “Oi João, como você está?”
print(str2.split(","))
>>['Oi João', ' como você está?']
- O separador usado como argumento foi a vírgula ",", logo, apenas onde houver esse caractere, a string será separada.
3)Usando um separador com dois caracteres:
str3 = "3><4><5"
print(str3.split("><"))
>>['3', '4', '5']
- O separador usado como argumento é composto por dois caracteres "><", logo, a string será separada em todas as ocorrências desses caracteres separadores.
4)Usando um separador e um número máximo de corte
str4 = "7><1><9"
print(str4.split("><",1))
>>['7', '1><9']
- Observe que como o número de corte(maxsplit) é 1, após o 1° corte, já temos o resultado, e obtivemos 2 elementos na lista resultante.
Percebe-se então que o split dá suporte ao programador para gerar substrings de diversas formas e o quanto pode ser útil para o programador de Python.
Imagine agora que você está desenvolvendo um projeto, e lhe é dito que as informações do usuário serão passadas por meio de uma única string com um formato específico: “nome-idade-profissão”. Você deve ser capaz de acessar individualmente cada um dos dados, o que fazer? Após ler esse artigo, com certeza, já deve saber a resposta, deixe abaixo como seria sua solução para imprimir cada dado!
Referências: