Vídeo em breve
Por enquanto, esta aula está disponível só em texto — o vídeo entra assim que ficar pronto.
Listas e dicionários
Listas
Guardando várias informações numa única variável: criar, acessar, fatiar e modificar listas. · 14 min
Até agora, cada variável guardava um único valor. Uma lista guarda vários valores em sequência, na ordem em que você colocou:
frutas = ["maçã", "banana", "laranja"]
notas = [8.5, 7.0, 9.2, 6.5]
mistura = ["Ada", 28, True] # listas podem misturar tipos
Acessando itens por posição (índice)
Python começa a contar do zero:
frutas = ["maçã", "banana", "laranja"]
print(frutas[0]) # "maçã" (primeiro item)
print(frutas[1]) # "banana"
print(frutas[-1]) # "laranja" (último item, sem precisar saber o tamanho)
print(len(frutas)) # 3 (quantidade de itens)
Atenção
frutas[3] nessa lista dá IndexError, porque os índices válidos vão de
0 a 2 (três itens). É um dos erros mais comuns ao trabalhar com listas
— sempre confira se o índice existe.
Fatiando listas (slicing)
Você pode pegar um “pedaço” da lista com inicio:fim (o fim não entra):
numeros = [10, 20, 30, 40, 50]
print(numeros[1:3]) # [20, 30] (índices 1 e 2)
print(numeros[:2]) # [10, 20] (do início até o índice 2)
print(numeros[2:]) # [30, 40, 50] (do índice 2 até o fim)
Modificando uma lista
tarefas = ["estudar", "malhar"]
tarefas.append("ler") # adiciona no final: ["estudar", "malhar", "ler"]
tarefas.insert(0, "acordar") # insere numa posição específica
tarefas.remove("malhar") # remove pelo valor
tarefas[0] = "acordar cedo" # substitui um item pelo índice
Dica
.append() é o método que você mais vai usar: construir uma lista vazia
e ir adicionando itens dentro de um for é um padrão extremamente comum.
Percorrendo uma lista
notas = [8.5, 7.0, 9.2, 6.5]
soma = 0
for nota in notas:
soma += nota
media = soma / len(notas)
print(f"Média: {media:.2f}")
Dica
Se você precisa também do índice de cada item, use enumerate():
for i, nota in enumerate(notas): te dá i (posição) e nota (valor) ao
mesmo tempo.
Exercícios
Exercício
1. Aquecimento. Crie uma lista com os nomes de 5 colegas. Imprima o primeiro, o último e quantos nomes tem na lista.
Exercício
2. Construindo uma lista. Peça 5 números ao usuário (um input() por
vez, dentro de um for que repete 5 vezes), guarde cada um numa lista
vazia com .append(), e no final imprima a lista, o maior valor
(max(lista)) e o menor (min(lista)).
Exercício
3. Desafio. Dada a lista compras = ["arroz", "feijão", "arroz", "leite", "feijão", "arroz"],
escreva um programa que imprime quantas vezes cada item aparece, sem
repetir itens na saída (dica: você pode checar se um item já apareceu
usando if item not in lista_ja_vistos).