Strings

Índices, fatias, imutabilidade, métodos de texto e processamento carácter a carácter.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Índices e fatias

Para s = "abcdef", uma sequência imutável de caracteres:

ExpressãoResultado
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, lower e replace produzem outra string. Guarda o resultado se quiseres usá-lo.

Separar e juntar

OperaçãoEfeito
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 texto testa presença. find devolve a primeira posição ou -1; index lança ValueError se faltar.
  • Não uses if texto.find(trecho): a posição zero é falsa e -1 é verdadeiro. Usa in ou compara com -1.
  • count conta sem sobreposição: "aaaaa".count("aa") dá 2. startswith e endswith testam as pontas.
  • isalpha e isdigit aceitam categorias Unicode. Para apenas dígitos ASCII, testa "0" <= c <= "9".
Conservar letras em minúsculas
texto = "FP 2026: Olá!"
partes = []
for c in texto:
    if c.isalpha():
        partes.append(c.lower())
print("".join(partes))
Resultado

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.
  • join reú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.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.