Pular para conteúdo

Strings

Em construção...

Indices de Strings

Sabendo que uma string tem um tamanho determinado, podemos acessar seus caracteres utilizando o índice de cada caractere. Cada caractere em uma string possui um índice que especifica sua posição. O índice começa em 0, portanto, o índice do primeiro caractere é 0, o índice do segundo caractere é 1 e assim por diante. O índice do último caractere em uma string é o número de elementos na lista menos 1.

Para acessar um caractere de uma string por seu índice, precisamos usar colchetes ([]). Adicionamos os colchetes após a string e, entre eles, escrevemos o índice do caractere que desejamos obter. Veja um exemplo:

>>> S = "UFES"
>>> print(S[0]) # Primeiro caractere da string
U 
>>> print(S[1])
F
>>> print(S[len(S) - 1]) # Último caractere da string
S

Lembre-se que os índices começam em 0 e, portanto, o índice do último elemento é igual a len(string) - 1. Assim, tentar acessar uma posição maior que o número de caracteres da string menos 1 gera um erro (IndexError). Por exemplo:

>>> S = "UFES"
>>> print(S[len(S)]) # ou print(S[4])
IndexError: string index out of range

Atenção

Strings são imutáveis ou somente leitura, o que significa que você não pode mudar o conteúdo de uma string existente.

>>> S = "ufes"
>>> S[0] = "U"
TypeError: 'str' object does not support item assignment

Todas as operações e métodos que manipulam dados de uma string sempre criam novas strings.

Também é possível usar índices negativos em strings para identificar as posições dos caracteres em relação ao final da string. O índice -1 identifica o último caractere em uma string, -2 identifica o penúltimo caractere e assim por diante. Nesse caso, o primeiro caractere de uma string também pode ser acessado usando -len(string). Os índices para os caracteres em uma string são ilustrados abaixo:

Indices em Strings Fonte: Learn Programming By Example

O código a seguir mostra um exemplo:

>>> S = "UFES"
>>> print(S[-1])
S
>>> print(S[-2])
E
>>> print(S[-3])
F
>>> print(S[-4])
U
>>> print(S[-5]) 
IndexError: string index out of range