Pitão

Como dividir strings em Python

Como dividir strings em Python
Este artigo irá explicar como dividir strings em python usando os métodos “split ()” e “partition ()”. Esses métodos são especialmente úteis se você deseja converter uma frase ou um grupo de palavras em tipos Python analisáveis ​​e iteráveis. Todos os exemplos de código neste guia são testados com Python versão 3.8.6.

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:

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 re
text = "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.

Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...