🎯 Objetivos da Aula
Listas
Criar e manipular listas
Métodos
append(), remove(), pop()
Indexação
Acessar elementos por posição
Projeto
Lista de compras inteligente
📚 Conteúdo da Aula
📚 A Estante Organizadora
O Que São Listas?
Imagine uma estante com várias prateleiras numeradas. Cada prateleira pode guardar um item diferente!
📖 Analogia da Estante:
📦 Variável Simples
nome = "João"
Guarda apenas UM valor
📋 Lista
nomes = ["João", "Maria", "Pedro"]
Guarda VÁRIOS valores
🔍 Indexação - Encontrando Itens na Lista
Como Acessar Elementos por Posição
Em Python, contamos a partir do 0! É como se a primeira prateleira fosse a "prateleira zero".
🗂️ Visualização de Índices:
🧪 Acessando Elementos:
# Criando uma lista de frutas
frutas = ["🍎", "🍌", "🍓", "🍇"]
# Acessando por índice
print(frutas[0]) # 🍎 (primeira fruta)
print(frutas[1]) # 🍌 (segunda fruta)
print(frutas[-1]) # 🍇 (última fruta)
# Descobrindo o tamanho da lista
print(f"Temos {len(frutas)} frutas!")
📏 Regras dos Índices:
- 0 = Primeiro elemento
- 1 = Segundo elemento
- -1 = Último elemento
- -2 = Penúltimo elemento
📋 Criando e Manipulando Listas
As Diferentes Formas de Criar Listas
Podemos criar listas vazias ou já com itens. É como montar nossa estante!
📝 Lista Vazia
minha_lista = []
Como uma estante vazia, pronta para receber livros
📚 Lista com Itens
cores = ["azul", "verde", "vermelho"]
Como uma estante já organizada com livros
🔢 Lista de Números
numeros = [1, 2, 3, 4, 5]
Podemos misturar diferentes tipos!
🎨 Exemplo Criativo:
# Criando diferentes tipos de listas
animais = ["🐶", "🐱", "🐰", "🐸"]
numeros_favoritos = [7, 13, 21, 42]
mista = ["João", 15, "Python", True]
print("Animais:", animais)
print("Números:", numeros_favoritos)
print("Lista mista:", mista)
➕ Métodos de Lista - Modificando Nossa Estante
Adicionando, Removendo e Organizando
As listas têm poderes especiais! Podemos adicionar e remover itens facilmente.
append()
Adiciona item no final
lista.append("novo")
remove()
Remove item específico
lista.remove("item")
pop()
Remove último item
lista.pop()
insert()
Insere em posição específica
lista.insert(0, "primeiro")
index()
Encontra posição do item
lista.index("item")
count()
Conta quantas vezes aparece
lista.count("item")
🧪 Testando os Métodos:
# Começando com uma lista vazia
carrinho = []
# Adicionando itens
carrinho.append("🍎 Maçã")
carrinho.append("🥛 Leite")
carrinho.append("🍞 Pão")
print("Carrinho:", carrinho)
# Inserindo no início
carrinho.insert(0, "🛒 Carrinho de")
print("Depois do insert:", carrinho)
# Removendo um item
carrinho.remove("🥛 Leite")
print("Depois do remove:", carrinho)
# Removendo o último
ultimo_item = carrinho.pop()
print(f"Removi: {ultimo_item}")
print("Carrinho final:", carrinho)
🔄 Listas + Loops = Dupla Perfeita!
Percorrendo Todos os Itens
Combinar listas com loops é como ter um assistente que verifica cada prateleira da estante!
🔄 Loop Simples
for item in lista:
print(item)
Percorre cada item da lista
🔢 Loop com Índice
for i in range(len(lista)):
print(f"{i}: {lista[i]}")
Mostra posição e valor
✨ Loop com enumerate()
for i, item in enumerate(lista):
print(f"{i}: {item}")
Mais elegante e pythônico!
🎭 Exemplo: Lista de Tarefas
# Lista de tarefas do dia
tarefas = [
"Estudar Python",
"Fazer exercícios",
"Brincar no parque",
"Ler um livro"
]
print("📋 MINHAS TAREFAS DO DIA:")
print("=" * 30)
for i, tarefa in enumerate(tarefas, 1):
print(f"{i}. ✅ {tarefa}")
print("=" * 30)
print(f"Total: {len(tarefas)} tarefas!")
🛒 Projeto - Lista de Compras Inteligente
🚀 Hora de Praticar!
Vamos criar um programa completo que gerencia uma lista de compras usando tudo que aprendemos!
🎯 Funcionalidades do Projeto:
Código Completo:
# 🛒 LISTA DE COMPRAS INTELIGENTE 🛒
print("Bem-vindo ao seu assistente de compras!")
lista_compras = []
while True:
print("\n" + "="*40)
print("🛒 LISTA DE COMPRAS INTELIGENTE 🛒")
print("="*40)
print("1. ➕ Adicionar item")
print("2. 👁️ Ver lista completa")
print("3. 🗑️ Remover item")
print("4. 🔍 Buscar item")
print("5. 📊 Estatísticas")
print("6. 🧹 Limpar lista")
print("7. 🚪 Sair")
print("="*40)
opcao = input("Escolha uma opção (1-7): ")
if opcao == "1":
item = input("📝 Digite o item para adicionar: ")
if item:
lista_compras.append(item)
print(f"✅ '{item}' adicionado à lista!")
else:
print("❌ Item inválido!")
elif opcao == "2":
if lista_compras:
print("\n📋 SUA LISTA DE COMPRAS:")
print("-" * 30)
for i, item in enumerate(lista_compras, 1):
print(f"{i:2d}. 🛍️ {item}")
print("-" * 30)
else:
print("📋 Lista vazia! Adicione alguns itens.")
elif opcao == "3":
if lista_compras:
print("\n📋 Lista atual:")
for i, item in enumerate(lista_compras, 1):
print(f"{i}. {item}")
try:
indice = int(input("Digite o número do item para remover: ")) - 1
if 0 <= indice < len(lista_compras):
item_removido = lista_compras.pop(indice)
print(f"🗑️ '{item_removido}' removido!")
else:
print("❌ Número inválido!")
except ValueError:
print("❌ Digite apenas números!")
else:
print("📋 Lista vazia! Nada para remover.")
elif opcao == "4":
if lista_compras:
busca = input("🔍 Digite o item para buscar: ").lower()
encontrados = []
for i, item in enumerate(lista_compras):
if busca in item.lower():
encontrados.append((i+1, item))
if encontrados:
print("🔍 Itens encontrados:")
for pos, item in encontrados:
print(f" {pos}. {item}")
else:
print("❌ Item não encontrado!")
else:
print("📋 Lista vazia!")
elif opcao == "5":
print(f"\n📊 ESTATÍSTICAS:")
print(f"📦 Total de itens: {len(lista_compras)}")
if lista_compras:
print(f"📝 Primeiro item: {lista_compras[0]}")
print(f"📝 Último item: {lista_compras[-1]}")
elif opcao == "6":
if lista_compras:
confirm = input("🧹 Tem certeza que quer limpar a lista? (s/n): ")
if confirm.lower() == 's':
lista_compras.clear()
print("🧹 Lista limpa!")
else:
print("❌ Operação cancelada!")
else:
print("📋 Lista já está vazia!")
elif opcao == "7":
print("👋 Obrigado por usar o Lista de Compras!")
print("🛒 Boa sorte nas suas compras!")
break
else:
print("❌ Opção inválida! Escolha de 1 a 7.")
print("🎉 Programa finalizado!")
🎨 Desafios de Melhoria:
- 🏷️ Adicione preços aos itens e calcule o total
- 📋 Crie categorias (frutas, limpeza, etc.)
- ⭐ Sistema de prioridades (urgente, normal, baixa)
- 💾 Salve a lista em um arquivo para não perder
🏠 Desafio para Casa
🎯 Desafio Principal: Análise de Números
Crie um programa que analisa uma lista de números e encontra informações interessantes!
📋 O que o programa deve fazer:
- 🔢 Solicitar 5 números do usuário
- 📊 Encontrar o maior número
- 📉 Encontrar o menor número
- ➕ Calcular a média (soma ÷ quantidade)
- 🔢 Contar números pares e ímpares
🏗️ Estrutura Inicial:
print("=== ANALISADOR DE NÚMEROS ===")
# Criando lista vazia
numeros = []
# Coletando 5 números
for i in range(5):
num = int(input(f"Digite o {i+1}º número: "))
numeros.append(num)
print(f"\nNúmeros digitados: {numeros}")
# Encontrar maior e menor
maior = max(numeros) # ou usar loops!
menor = min(numeros) # ou usar loops!
print(f"🔝 Maior número: {maior}")
print(f"🔻 Menor número: {menor}")
# Agora é sua vez de completar!
# Calcule a média
# Conte pares e ímpares
💡 Dicas Importantes:
- Use
sum(lista)
para somar todos os números - Use
len(lista)
para saber quantos números tem - Use
numero % 2 == 0
para verificar se é par - Use loops para percorrer a lista e contar
🎯 Desafios Bônus:
Crie uma lista de nomes e permita adicionar, remover e buscar contatos
Gerencie uma lista de músicas com opções de tocar, pausar e pular
Mantenha uma lista dos seus 5 jogos favoritos em ordem de preferência
Crie listas automáticas: números pares de 1 a 20, tabuada do 7, etc.