A linguagem de pro­gra­ma­ção web Python permite a divisão de strings em pontos fixos com Python split. O tipo de divisão é de­ter­mi­nado por dois pa­râ­me­tros: separator e maxsplit.

O que é o Python split?

Dividir uma string em Python pode ser útil ou até mesmo ne­ces­sá­rio em alguns casos, e Python split é a fer­ra­menta adequada para isso. A divisão ge­ral­mente é feita nos espaços da string e pode ser con­tro­lada por di­fe­ren­tes pa­râ­me­tros, a depender da aplicação pre­ten­dida.

Qual é a sintaxe e fun­ci­o­na­li­dade do Python split?

A sintaxe básica do Python split é a seguinte:

string.split(separator, maxsplit)
python

separator e maxsplit são os pa­râ­me­tros que você pode definir. O Python split dividirá a string cor­res­pon­dente em qualquer sequência de espaços em branco se nenhum parâmetro for es­pe­ci­fi­cado. O parâmetro separator determina onde a string será dividida. Já o maxsplit es­pe­ci­fica quantas vezes a string será dividida. Se você não definir este parâmetro, a string será dividida em todas as ocor­rên­cias do separador até o final.

Exemplos de se­pa­ra­do­res do Python split

Os exemplos a seguir ilustram como uma string pode ser dividida usando Python split. A estrutura básica pode ser melhor observada no nosso tutorial de Python.

Divisão por espaços com Python split

O primeiro exemplo divide a string nos espaços:

text = "This is a sample text"
print(text.split())
python

A saída será:

["This", "is", "a", "sample", "text"]
plaintext

Divisão por vírgulas com Python split

No segundo exemplo, a string é dividida nas vírgulas:

animals = "dog, cat, mouse, horse"
print(animals.split(", "))
python

Isso resultará na seguinte saída:

["dog", "cat", "mouse", "horse"]
plaintext

Divisão por hashtags com Python split

Também é possível realizar uma divisão usando o caractere hashtag (#) como separador:

colors = "blue#red#yellow#orange"
colors = colors.split("#")
print(colors)
python

A saída será:

["blue", "red", "yellow", "orange"]
plaintext

Como definir maxsplit no Python split

O segundo parâmetro, maxsplit, também é fácil de usar. Aqui estão três exemplos que explicam seu fun­ci­o­na­mento:

maxsplit definido como 0

Neste caso, não há divisão:

colors = "blue, red, yellow, orange"
print(colors.split(", ", 0))
python

A saída será:

["blue, red, yellow, orange"]
plaintext

maxsplit definido como 1

Agora, a string será dividida uma vez:

colors = "blue, red, yellow, orange"
print(colors.split(", ", 1))
python

A saída será:

["blue", "red, yellow, orange"]
plaintext

maxsplit definido como 2

Com maxsplit definido como 2, a string será dividida duas vezes:

colors = "blue, red, yellow, orange"
print(colors.split(", ", 2))
python

A saída será:

["blue", "red", "yellow, orange"]
plaintext

Como usar Python split dentro de palavras es­pe­cí­fi­cas

Embora o com­por­ta­mento padrão divida strings por espaços em branco, você também pode es­pe­ci­fi­car um caractere ou sequência es­pe­cí­fica para dividir a string. No exemplo abaixo, as palavras serão divididas na letra “a”:

animals = "dog, cat, mouse, horse"
print(animals.split("a"))
python

A saída será:

["dog, c", "t, mouse, horse"]
plaintext

Você pode limitar o número de divisões usando o parâmetro maxsplit. Veja:

animals = "dog, cat, mouse, horse"
print(animals.split("a", 1))
python

A saída será:

["dog, c", "t, mouse, horse"]
plaintext

Como converter string em lista com Python split

Converter uma string em uma lista em Python é uma fun­ci­o­na­li­dade popular e útil. Você precisará dos pa­râ­me­tros separator e maxsplit. O exemplo abaixo divide uma lista de cores por meio de hashtags e organiza o resultado em uma lista de no máximo dois elementos:

col_string = "blue#red#yellow#orange"
colors = col_string.split("#", 1)
print(colors)
python

A saída será:

["blue", "red#yellow#orange"]
plaintext

Diferença entre Python split e Python rsplit

Além do Python split, é dis­po­ni­bi­li­zado o método rsplit. Em muitos casos, rsplit apresenta o mesmo resultado que split, es­pe­ci­al­mente quando o parâmetro opcional maxsplit não é es­pe­ci­fi­cado. Porém, pode haver di­fe­ren­ças se o maxsplit for definido, como mostra este exemplo:

Com Python split:

animals = "dog, cat, mouse, horse"
print(animals.split(None, 2))
python

A saída será:

["dog", "cat", "mouse, horse"]
plaintext

Com Python rsplit:

animals = "dog, cat, mouse, horse"
print(animals.rsplit(None, 2))
python

A saída será:

["dog, cat,", "mouse,", "horse"]
plaintext

No exemplo acima, a diferença está no ponto de início da divisão: split divide começando da esquerda, enquanto rsplit divide começando da direita.

Ir para o menu principal