Strings
Índices, fatias, imutabilidade, métodos de texto e processamento carácter a carácter.
Índices e fatias
Para s = "abcdef", uma sequência imutável de caracteres:
| Expressão | Resultado |
|---|---|
len(s) | 6 |
s[0], s[-1] | "a", "f" |
s[1:5:2] | "bd" |
s[::-1] | "fedcba" |
s[20:] | "" |
s[6] | IndexError |
- Índices válidos vão de 0 a
len(s) - 1; os negativos contam do fim. Uma string vazia não tem índices válidos. s[inicio:fim:passo]inclui o início e exclui o fim. Limites omitidos usam os extremos adequados ao passo; o passo não pode ser zero.- Fatias toleram limites fora da sequência; a indexação exige uma posição existente.
s[0] = "A"falha."A" + s[1:],upper,lowerereplaceproduzem outra string. Guarda o resultado se quiseres usá-lo.
Separar e juntar
| Operação | Efeito |
|---|---|
texto.strip() | Retira espaços das pontas |
"a;;b".split(";") | ['a', '', 'b'], conservando o campo vazio |
" a b ".split() | ['a', 'b'], agrupando espaços |
" / ".join(["Ana", "Bruno"]) | "Ana / Bruno" |
Procurar e selecionar
trecho in textotesta presença.finddevolve a primeira posição ou-1;indexlançaValueErrorse faltar.- Não uses
if texto.find(trecho): a posição zero é falsa e-1é verdadeiro. Usainou compara com-1. countconta sem sobreposição:"aaaaa".count("aa")dá 2.startswitheendswithtestam as pontas.isalphaeisdigitaceitam categorias Unicode. Para apenas dígitos ASCII, testa"0" <= c <= "9".
texto = "FP 2026: Olá!"
partes = []
for c in texto:
if c.isalpha():
partes.append(c.lower())
print("".join(partes))Executa o código para ver a saída e os gráficos.
A saída é fpolá.
- Seleciona letras, transforma-as e conserva a ordem.
joinreúne as partes sem construir sucessivas strings cada vez maiores.
Comparação e formatação
A comparação é lexicográfica pelos valores Unicode, sem garantir ordem linguística portuguesa: "Z" < "a" é verdadeiro. f"{3 / 2:.2f}" dá "1.50"; duplica chavetas para as escrever literalmente. \n representa uma mudança de linha, \t uma tabulação e \\ uma barra invertida.