Como dividir strings com Python split
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)pythonseparator 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())pythonA saída será:
["This", "is", "a", "sample", "text"]plaintextDivisão por vírgulas com Python split
No segundo exemplo, a string é dividida nas vírgulas:
animals = "dog, cat, mouse, horse"
print(animals.split(", "))pythonIsso resultará na seguinte saída:
["dog", "cat", "mouse", "horse"]plaintextDivisã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)pythonA saída será:
["blue", "red", "yellow", "orange"]plaintextComo 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))pythonA saída será:
["blue, red, yellow, orange"]plaintextmaxsplit definido como 1
Agora, a string será dividida uma vez:
colors = "blue, red, yellow, orange"
print(colors.split(", ", 1))pythonA saída será:
["blue", "red, yellow, orange"]plaintextmaxsplit definido como 2
Com maxsplit definido como 2, a string será dividida duas vezes:
colors = "blue, red, yellow, orange"
print(colors.split(", ", 2))pythonA saída será:
["blue", "red", "yellow, orange"]plaintextComo 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"))pythonA saída será:
["dog, c", "t, mouse, horse"]plaintextVocê pode limitar o número de divisões usando o parâmetro maxsplit. Veja:
animals = "dog, cat, mouse, horse"
print(animals.split("a", 1))pythonA saída será:
["dog, c", "t, mouse, horse"]plaintextComo 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)pythonA saída será:
["blue", "red#yellow#orange"]plaintextDiferenç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))pythonA saída será:
["dog", "cat", "mouse, horse"]plaintextCom Python rsplit:
animals = "dog, cat, mouse, horse"
print(animals.rsplit(None, 2))pythonA saída será:
["dog, cat,", "mouse,", "horse"]plaintextNo 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.

