Método de divisão
O método “split ()” pode ser usado para dividir palavras usando um separador especificado pelo usuário. Ele retorna uma lista de palavras divididas sem incluir o separador. Se nenhum separador for especificado pelo usuário, os espaços em branco (um ou mais) são usados como um único separador.
Por exemplo, o código abaixo retornará “['Linux', 'Hint']” como saída:
text = "Linux Hint"texto.dividir()
O código abaixo retornará “['LinuxHint', 'com']” como saída quando “.”É usado como separador:
text = "LinuxHint.com "texto.dividir(".”)
O separador não precisa ser um único caractere. O método de divisão leva dois argumentos:
- sep: separador a ser usado para divisão
- maxsplit: número de divisões a fazer
Ambos os argumentos são opcionais. Conforme mencionado acima, se o argumento “sep” não for especificado, o espaço em branco é usado como separador para a divisão. O argumento “maxsplit” tem um valor padrão de “-1” e divide todas as ocorrências por padrão. Considere o código abaixo:
text = "LinuxHint.co.nós"texto.dividir(".”)
Ele retornará “['LinuxHint', 'co', 'us']” como saída. Se você quiser parar de dividir na primeira ocorrência do separador, especifique “1” como o argumento “maxsplit”.
text = "LinuxHint.co.nós"texto.dividir(".”, 1)
O código acima retornará “['LinuxHint', 'co.us '] ”como saída. Basta especificar o número de ocorrências em que deseja que o processo de divisão pare como o segundo argumento.
Observe que se houver separadores consecutivos, uma string vazia será retornada para os separadores restantes após a primeira divisão (quando o argumento “maxsplit” não for usado):
text = "LinuxHint… com"texto.dividir(".")
O código acima retornará “['LinuxHint',”, 'com'] ”como saída. Caso queira remover strings vazias da lista resultante, você pode usar a seguinte declaração de compreensão da lista:
text = "LinuxHint… com"resultado = texto.dividir(".")
resultado = [item para item em resultado se item != ""]
imprimir (resultado)
Você obterá “['LinuxHint', 'com']” como saída após executar o exemplo de código acima.
Observe que o método “split ()” se move da esquerda para a direita para dividir as strings em palavras. Se você quiser dividir a string da direita para a esquerda, use “rsplit ()” ao invés. Sua sintaxe, uso e argumentos são exatamente iguais aos do método “split ()”.
Se nenhum separador for encontrado na string durante o uso dos métodos “split ()” ou “rsplit ()”, a string original é retornada como o único elemento da lista.
Método de Partição
O método “partition ()” pode ser usado para dividir strings e funciona de forma idêntica ao método “split ()” com algumas diferenças. A diferença mais notável é que ele retém o separador e o inclui como um item na tupla resultante contendo palavras divididas. Isso é especialmente útil se você quiser dividir a string em um objeto iterável (tupla neste caso) sem remover nenhum caractere original. Considere o código abaixo:
text = "LinuxHint.com "resultado = texto.partição (".")
imprimir (resultado)
O exemplo de código acima retornará “('LinuxHint', '.',' com ') ”como saída. Se você quiser que o resultado seja do tipo lista, use o seguinte exemplo de código:
text = "LinuxHint.com "resultado = lista (texto.partição ("."))
imprimir (resultado)
Você deve obter “['LinuxHint', '.',' com '] ”como saída após executar o exemplo de código acima.
O método “partition ()” leva apenas um argumento chamado “sep”. Os usuários podem especificar um separador de qualquer comprimento. Ao contrário do método “split ()”, este argumento é obrigatório, então você não pode omitir o separador. No entanto, você pode especificar um espaço em branco como separador.
Observe que o método de partição para na primeira ocorrência do separador. Portanto, se sua string contém vários separadores, o método “partition ()” irá ignorar todas as outras ocorrências. Aqui está um exemplo que ilustra isso:
text = "LinuxHint.co.nós"resultado = lista (texto.partição ("."))
imprimir (resultado)
A amostra de código produzirá “['LinuxHint', '.',' co.us '] ”como saída. Se você quiser dividir todas as ocorrências do separador e incluir o separador também na lista final, pode ser necessário usar um padrão de "Expressão regular" ou "RegEx". Para o exemplo mencionado acima, você pode usar um padrão RegEx da seguinte maneira:
importar retext = "LinuxHint.co.nós"
resultado = re.dividir("(\.)", texto)
imprimir (resultado)
Você obterá “['LinuxHint', '.',' co ','.',' us '] ”como saída após executar o exemplo de código acima. O caractere ponto foi escapado na instrução RegEx mencionada acima. Observe que embora o exemplo acima funcione com um único caractere de ponto, ele pode não funcionar com separadores complexos e strings complexas. Você pode ter que definir seu próprio padrão RegEx dependendo do seu caso de uso. O exemplo é apenas mencionado aqui para lhe dar uma ideia sobre o processo de retenção do separador na lista final usando instruções RegEx.
O método “partition ()” às vezes pode deixar strings vazias, especialmente quando o separador não é encontrado na string a ser dividida. Nesses casos, você pode usar instruções de compreensão de lista para remover strings vazias, conforme explicado na seção do método “split ()” acima.
text = "LinuxHint"resultado = lista (texto.partição ("."))
resultado = [item para item em resultado se item != ""]
imprimir (resultado)
Depois de executar o código acima, você deve obter “['LinuxHint']” como saída.
Conclusão
Para divisões simples e diretas, você pode usar os métodos “split ()” e “partition ()” para obter tipos iteráveis. Para strings e separadores complexos, você precisará usar instruções RegEx.