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:

  1. Sintaxe do método .split()\n

    1. Como funciona o método .split() sem argumentos?
    2. Como o método .split() funciona com o argumento separador?
    3. Como funciona o método .split() com o argumento maxsplit?

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 encontrar no 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!