Aula 12: Introdução a Listas

Organizando coleções de dados de forma flexível.

O Que Você Vai Aprender

Nesta aula de 2 horas, você será introduzido às listas, uma das estruturas de dados mais versáteis e fundamentais em Python. Entenderá o que as torna tão poderosas (sua mutabilidade!), como manipulá-las e os métodos essenciais para adicionar e remover itens, preparando-o para organizar dados de forma eficiente.

📚 Entender Listas e Mutabilidade

Compreender o conceito de listas como coleções ordenadas e sua característica principal: a mutabilidade.

🔍 Acessar e Modificar Elementos

Aprender a acessar itens de uma lista por índice e como alterar seus valores.

➕ Métodos de Adição

Conhecer e aplicar os métodos `append()`, `insert()` e `extend()` para adicionar itens.

➖ Métodos de Remoção

Dominar os métodos `pop()`, `remove()` e a instrução `del` para remover itens de uma lista.

Conceito e Criação de Listas

Listas são como contêineres que podem guardar múltiplos itens. Elas são ordenadas (a ordem dos itens importa) e, o mais importante, mutáveis, o que significa que você pode alterar seu conteúdo após a criação. Uma lista pode conter diferentes tipos de dados!

Criação de Listas

Use colchetes `[]` para criar listas. Itens são separados por vírgulas.

numeros = [1, 2, 3, 4]
misturada = [1, "olá", True, 3.5]
vazia = []

Criador e Visualizador de Listas

Crie sua própria lista digitando os itens separados por vírgulas. Diferentes tipos de dados são suportados (números, texto entre aspas, `True`/`False`).

Acesso e Modificação de Elementos

Assim como strings, os itens em uma lista são acessados por meio de seus índices, que começam em 0. A grande diferença é que você pode modificar um item em um determinado índice, pois as listas são mutáveis!

Acesso por Índice

Use colchetes `[]` para pegar um item. Índices negativos também funcionam.

numeros = [10, 20, 30, 40]
print(numeros[0])  # Saída: 10
print(numeros[3])  # Saída: 40
print(numeros[-1]) # Saída: 40

Modificação de Elementos

Atribua um novo valor a um índice específico. Isso muda a lista original.

numeros = [1, 2, 3, 4]
numeros[0] = 100
print(numeros) # Saída: [100, 2, 3, 4]

Simulador: Acessar e Modificar Lista

Crie uma lista (ex: `['a', 'b', 'c']`). Em seguida, digite um índice para acessar ou um índice e novo valor para modificar.

Lista atual: []

Métodos para Adicionar Elementos

Listas são dinâmicas, e você pode facilmente adicionar novos itens a elas. Python oferece métodos específicos para diferentes necessidades de adição. Lembre-se que, ao contrário das strings, esses métodos modificam a lista original!

`.append(item)`

Adiciona um único item ao final da lista.

compras = ["arroz"]
compras.append("feijão")
# compras é agora ["arroz", "feijão"]

`.insert(indice, item)`

Adiciona um item em uma posição específica. Os itens existentes são deslocados.

cores = ["azul", "verde"]
cores.insert(0, "vermelho")
# cores é agora ["vermelho", "azul", "verde"]

`.extend(outra_lista)`

Adiciona todos os itens de outra lista (ou iterável) ao final da lista atual.

lista1 = [1, 2]
lista2 = [3, 4]
lista1.extend(lista2)
# lista1 é agora [1, 2, 3, 4]

Simulador: Adicionar Itens à Lista

Comece com uma lista. Use os campos para adicionar itens com diferentes métodos.

Lista atual: []

Métodos para Remover Elementos

Remover itens de uma lista é tão importante quanto adicioná-los. Python oferece algumas maneiras diferentes de fazer isso, dependendo se você quer remover pelo índice, pelo valor ou se a posição é fixa. Assim como a adição, a remoção modifica a lista original.

`.pop(indice)`

Remove e retorna o item de um índice específico. Se o índice for omitido, remove e retorna o último item.

numeros = [10, 20, 30]
removido = numeros.pop(1) # removido é 20
# numeros é agora [10, 30]

`.remove(item)`

Remove a primeira ocorrência de um item específico da lista. Gera erro se o item não for encontrado.

letras = ['a', 'b', 'c', 'b']
letras.remove('b')
# letras é agora ['a', 'c', 'b']

`del lista[indice]`

Uma instrução (não um método) para remover um item em um índice específico ou até mesmo fatias da lista. Pode apagar a lista inteira.

frutas = ["maçã", "banana", "laranja"]
del frutas[1]
# frutas é agora ["maçã", "laranja"]

Simulador: Remover Itens da Lista

Comece com uma lista. Use os campos para remover itens com diferentes métodos.

Lista atual: []

Desafios para Continuar

Agora que você explorou o poder das listas e suas manipulações, é hora de praticar! Resolva estes problemas no seu ambiente de desenvolvimento Python para solidificar seu aprendizado.

  • Gerenciador de Tarefas (To-Do List)

    Crie um programa interativo que permita ao usuário gerenciar uma lista de tarefas. Ele deve ter as seguintes opções:

    • **1) Adicionar uma nova tarefa:** Pedir o nome da tarefa e adicioná-la à lista.
    • **2) Remover uma tarefa pelo nome:** Pedir o nome da tarefa a ser removida e removê-la da lista (se existir).
    • **3) Visualizar todas as tarefas:** Imprimir todas as tarefas numeradas.
    • **4) Sair:** Encerrar o programa.
    • Use um laço `while` para manter o menu ativo até o usuário sair.

  • Inserir Número em Posição Específica

    Crie um programa que:

    • Crie uma lista inicial de 5 números quaisquer (ex: `[10, 20, 30, 40, 50]`).
    • Peça ao usuário para digitar um novo número.
    • Peça ao usuário para digitar a posição (índice) onde o novo número deve ser inserido (ex: 2 para a terceira posição).
    • Insira o número na posição especificada.
    • Imprima a lista atualizada.