A linguagem de programação web Python permite a divisão de strings em pontos fixos com Python split. O tipo de divisão é determinado por dois parâmetros: separator e maxsplit.

O que é o Python split?

Dividir uma string em Python pode ser útil ou até mesmo necessário em alguns casos, e Python split é a ferramenta adequada para isso. A divisão geralmente é feita nos espaços da string e pode ser controlada por diferentes parâmetros, a depender da aplicação pretendida.

Qual é a sintaxe e funcionalidade do Python split?

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

string.split(separator, maxsplit)
python

separator e maxsplit são os parâmetros que você pode definir. O Python split dividirá a string correspondente em qualquer sequência de espaços em branco se nenhum parâmetro for especificado. O parâmetro separator determina onde a string será dividida. Já o maxsplit especifica quantas vezes a string será dividida. Se você não definir este parâmetro, a string será dividida em todas as ocorrências do separador até o final.

Exemplos de separadores 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 funcionamento:

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 específicas

Embora o comportamento padrão divida strings por espaços em branco, você também pode especificar um caractere ou sequência especí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 funcionalidade popular e útil. Você precisará dos parâmetros 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, é disponibilizado o método rsplit. Em muitos casos, rsplit apresenta o mesmo resultado que split, especialmente quando o parâmetro opcional maxsplit não é especificado. Porém, pode haver diferenç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.

Este artigo foi útil?
Ir para o menu principal