Python suporta a fatiação de strings para criar substrings. Note que a string em Python é imutável, a fatiação cria uma nova substring a partir da string de origem e a string original permanece inalterada.
Fatiamento de string em Python
A sintaxe para fatiar strings em Python é:
str_object[start_pos:end_pos:step]
O fatiamento começa com o índice start_pos (incluído) e termina no índice end_pos (excluído). O parâmetro step é usado para especificar os passos a serem dados do índice inicial até o final. O fatiamento de strings em Python sempre segue esta regra: s[:i] + s[i:] == s para qualquer índice ‘i’. Todos esses parâmetros são opcionais – o valor padrão para start_pos é 0, o valor padrão para end_pos é o comprimento da string e o valor padrão para step é 1. Vamos ver alguns exemplos simples de uso da função de fatiamento de strings para criar substrings.
s = 'HelloWorld'
print(s[:])
print(s[::])
Saída:
HelloWorld
HelloWorld
Note que, como nenhum dos parâmetros de fatiamento foi fornecido, a substring é igual à string original. Vamos ver mais alguns exemplos de fatiamento de uma string.
s = 'HelloWorld'
first_five_chars = s[:5]
print(first_five_chars)
third_to_fifth_chars = s[2:5]
print(third_to_fifth_chars)
Saída:
Hello
llo
Observe que o valor do índice começa a partir de 0, então start_pos 2 refere-se ao terceiro caractere na string.
Inverter uma string usando fatiamento
Podemos inverter uma string usando o fatiamento, fornecendo o valor do passo como -1.
s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)
Saída: dlroWolleH
Vamos ver alguns outros exemplos de uso de etapas e valores de índice negativos.
s1 = s[2:8:2]
print(s1)
Saída: loo
Aqui, a substring contém caracteres dos índices 2, 4 e 6.
s1 = s[8:1:-1]
print(s1)
Saída: lroWoll
Aqui, os valores do índice são retirados do final para o início. A substring é feita dos índices 1 a 7 de trás para frente.
s1 = s[8:1:-2]
print(s1)
Saída: lool
A fatia do Python também funciona com índices negativos, nesse caso, a posição de início é excluída e a posição de término está incluída na substring.
s1 = s[-4:-2]
print(s1)
Saída: or
O fatiamento de string do Python lida graciosamente com índices fora do alcance.
>>>s = 'Python'
>>>s[100:]
''
>>>s[2:50]
'thon'
Isso é tudo para a função de fatia de string do Python para criar substrings.
Você pode conferir o script Python completo e mais exemplos de Python em nosso Repositório GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-slice-string