Pular para o conteúdo
</>RoByte

Buscar cursos e aulas

Aulas do curso

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

Código no GitHub

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).