Em Python, sequências são estruturas de dados fundamentais usadas para armazenar coleções ordendaas de elementos. Os tipos de sequência mais comuns incluem listas (list), tuplas (tuple) e strings (str). Este artigo explora as principais operações que podem ser realizadas com sequências, como acesso a elementos via índices, extração de sub-sequências (fatiamento), concatenação, repetição e verificação de associação.
Acesso a Elementos: Indexação
A indexação permite acessar um único elemento em uma sequência, usando sua posição. Em Python, os índices começam em 0 para o primeiro elemento.
Sintaxe Básica
sequencia[indice]
Exemplos de Indexação Positiva
valores = [100, 200, 300, 400, 500]
print(valores[0]) # Saída: 100
print(valores[3]) # Saída: 400
palavra = "PYTHON"
print(palavra[1]) # Saída: Y
Indexação Negativa
É possível acessar elementos a partir do final da sequência usando índices negativos. -1 refere-se ao último elemento, -2 ao penúltimo, e assim por diante.
print(valores[-1]) # Saída: 500
print(valores[-4]) # Saída: 200
Extraindo Partes: Fatiamento (Slicing)
O fatiamento permite extrair uma sub-sequência de uma sequência maior. Ele define um intervalo de início e fim, e opcionalmente um passo.
Sintaxe de Fatiamento
sequencia[inicio:fim:passo]
inicio: Índice inicial (incluído, padrão0).fim: Índice final (excluído, padrão até o final da sequência).passo: Incremento entre os índices (padrão1).
Exemplos de Fatiamento
letras = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
print(letras[1:4]) # Saída: ['B', 'C', 'D']
print(letras[:3]) # Saída: ['A', 'B', 'C'] (Do início até o índice 2)
print(letras[4:]) # Saída: ['E', 'F', 'G'] (Do índice 4 até o final)
print(letras[::2]) # Saída: ['A', 'C', 'E', 'G'] (Do início ao fim, com passo 2)
print(letras[::-1]) # Saída: ['G', 'F', 'E', 'D', 'C', 'B', 'A'] (Inverte a sequência)
Operações de Concatenação e Repetição
Sequências em Python podem ser combinadas ou repetidas usando operadores aritméticos.
Concatenação (Operador +)
O operador + é utilizado para concatenar duas ou mais sequências do mesmo tipo, criando uma nova sequência que contém os elementos de ambas.
lista_a = [1, 2]
lista_b = [3, 4]
lista_combinada = lista_a + lista_b
print(lista_combinada) # Saída: [1, 2, 3, 4]
texto1 = "Olá "
texto2 = "Mundo!"
saudacao = texto1 + texto2
print(saudacao) # Saída: "Olá Mundo!"
Repetição (Operador *)
O operador *, quando usado com uma sequência e um número inteiro, cria uma nova sequência repetindo os elementos da original o número de vezes especificado.
numeros_base = (7, 8)
numeros_repetidos = numeros_base * 3
print(numeros_repetidos) # Saída: (7, 8, 7, 8, 7, 8)
caractere = "-"
linha = caractere * 10
print(linha) # Saída: "----------"
Verificação de Associação de Elementos
Os operadores in e not in permitem verificar se um elemento está presente ou ausente em uma sequência.
Opreador in
Retorna True se o elemento for encontrado na sequência, e False caso contrário.
cores = ["vermelho", "azul", "verde"]
if "azul" in cores:
print("Azul está na lista.")
else:
print("Azul não está na lista.")
if "amarelo" in cores:
print("Amarelo está na lista.")
else:
print("Amarelo não está na lista.")
Operador not in
Retorna True se o elemento NÃO for encontrado na sequência, e False caso contrário.
frutas_exoticas = ("lichia", "rambutã", "jabuticaba")
if "manga" not in frutas_exoticas:
print("Manga não é uma fruta exótica nesta tupla.")