Python .split() – Dividindo uma cadeia de caracteres em Python
Neste artigo, você aprenderá como dividir uma string em Python.
Em primeiro lugar, apresentarei a sintaxe do método .split(
). Depois disso, você verá como usar o método .split()
com e sem argumentos, usando exemplos de código ao longo do caminho.
Aqui está o que vamos abordar:
Sintaxe do método
.split()
\n- Como funciona o método
.split()
sem argumentos?
- Como funciona o método
- Como o método
.split()
funciona com o argumentoseparador
? - Como funciona o método
.split()
com o argumentomaxsplit
?
O que é o método .split()
em Python? Desagregação da sintaxe do método .split()
Use o método .split()
para dividir uma cadeia de caracteres em uma lista.
A sintaxe geral para o método .split()
é semelhante à seguinte:
string.split(separator, maxsplit)
Vamos detalhar:
string
é a cadeia de caracteres que você deseja dividir. Esta é a cadeia de caracteres na qual você chama o método.split().
- O método
.split()
aceita dois argumentos. - O primeiro argumento opcional é
o separador
, que especifica que tipo de separador usar para dividir a cadeia de caracteres. Se esse argumento não for fornecido, o valor padrão será qualquer espaço em branco, o que significa que a cadeia de caracteres será dividida sempre que.split()
encontrar qualquer espaço em branco. - O segundo argumento opcional é
maxsplit
, que especifica o número máximo de divisões que o método.split()
deve executar. Se esse argumento não for fornecido, o valor padrão será-1
, o que significa que não há limite para o número de divisões, e.split()
deve dividir a cadeia de caracteres em todas as ocorrências que encontrarno separador
.
O método .split()
retorna uma nova lista de substrings, e a string original não é modificada de forma alguma.
Como funciona o método .split()
sem argumentos?
Veja como você dividiria uma cadeia de caracteres em uma lista usando o método .split()
sem argumentos:
coding_journey = "I am learning to code for free with freeCodecamp!"
# split string into a list and save result into a new variable
coding_journey_split = coding_journey.split()
print(coding_journey)
print(coding_journey_split)
# check the data type of coding_journey_split by using the type() function
print(type(coding_journey_split))
# output
# I am learning to code for free with freeCodecamp!
# ['I', 'am', 'learning', 'to', 'code', 'for', 'free', 'with', 'freeCodecamp!']
# <class 'list'>
A saída mostra que cada palavra que compõe a cadeia de caracteres agora é um item de lista e a cadeia de caracteres original é preservada.
Quando você não passar nenhum dos dois argumentos que o método .split()
aceita, então, por padrão, ele dividirá a cadeia de caracteres toda vez que encontrar espaço em branco até que a cadeia de caracteres chegue ao fim.
O que acontece quando você não passa nenhum argumento para o método .split()
e ele encontra espaços em branco consecutivos em vez de apenas um?
coding_journey = "I love coding"
coding_journey_split = coding_journey.split()
print(coding_journey_split)
# output
# ['I', 'love', 'coding']
No exemplo acima, adicionei espaços em branco consecutivos entre a palavra amor
e a palavra codificação
. Quando esse é o caso, o método .split()
trata quaisquer espaços consecutivos como se fossem um único espaço em branco.
Como funciona o método .split()
com o argumento separador
?
Como você viu anteriormente, quando não há nenhum argumento separador
, o valor padrão para ele é espaço em branco. Dito isto, você pode definir um separador
diferente.
O separador
quebrará e dividirá a cadeia de caracteres sempre que encontrar o caractere especificado e retornará uma lista de substrings.
Por exemplo, você pode fazer com que uma cadeia de caracteres seja dividida sempre que o método .split()
encontrar um ponto, .
:
fave_website = "www.freecodecamp.org"
fave_website_split = fave_website.split(".")
print(fave_website_split)
# output
# ['www', 'freecodecamp', 'org']
No exemplo acima, a cadeia de caracteres se divide sempre que .split()
encontra um arquivo .
Tenha em mente que eu não especifiquei um ponto seguido de um espaço. Isso não funcionaria, já que a cadeia de caracteres não contém um ponto seguido de um espaço:
fave_website = "www.freecodecamp.org"
fave_website_split = fave_website.split(". ")
print(fave_website_split)
# output
# ['www.freecodecamp.org']
Agora, vamos revisitar o último exemplo da seção anterior.
Quando não havia argumento separador
, espaços em branco consecutivos eram tratados como se fossem espaços em branco únicos.
No entanto, quando você especifica um único espaço como separador
, a cadeia de caracteres é dividida toda vez que encontra um único caractere de espaço:
coding_journey = "I love coding"
coding_journey_split = coding_journey.split(" ")
print(coding_journey_split)
# output
# ['I', 'love', '', '', 'coding']
No exemplo acima, cada vez que .split()
encontrou um caractere de espaço, ele dividiu a palavra e adicionou o espaço vazio como um item de lista.
Como funciona o método .split()
com o argumento maxsplit
?
Quando não há nenhum argumento maxsplit
, não há limite especificado para quando a divisão deve parar.
No primeiro exemplo da seção anterior, .split()
dividiu a string toda vez que encontrou o separador
até chegar ao final da string.
No entanto, você pode especificar quando deseja que a divisão termine.
Por exemplo, você pode especificar que as pontas duplas depois de encontrar um ponto:
fave_website = "www.freecodecamp.org"
fave_website_split = fave_website.split(".", 1)
print(fave_website_split)
# output
# ['www', 'freecodecamp.org']
No exemplo acima, defini o maxsplit
como 1
e foi criada uma lista com dois itens de lista.
Eu especifiquei que a lista deve ser dividida quando encontrar um ponto. Uma vez que encontrasse um ponto, a operação terminaria e o restante da cadeia de caracteres seria um item de lista por conta própria.
Conclusão
E lá está! Agora você sabe como dividir uma string em Python usando o método .split(
).
Espero que este tutorial tenha sido útil.
Para saber mais sobre a linguagem de programação Python, confira a certificação Python do freeCodeCamp.
Você vai começar do básico e aprender de uma forma interativa e amigável para iniciantes. Você também construirá cinco projetos no final para colocar em prática e ajudar a reforçar o que aprendeu.
Obrigado pela leitura, e feliz codificação!