Listas em Python: o que são e como usar, com exemplos
Lista é uma coleção ordenada de valores guardados em uma única variável, escrita entre colchetes, como ["maçã", "pera", "uva"]. Cada item tem uma posição que começa em zero, e você pode acessar, adicionar, remover e ordenar itens, além de percorrer tudo com um for.
A ideia: uma variável com vários valores
Uma variável comum guarda um valor só. Quando você precisa de várias coisas juntas, como as notas de uma turma ou os itens de uma compra, usa uma lista. Pense em uma fila de caixas numeradas, cada uma com um item dentro.
Criando e acessando itens
frutas = ["maçã", "pera", "uva"]
print(frutas[0])
print(frutas[-1])
print(len(frutas))Resultado:
maçã
uva
3
- A posição começa em 0:
frutas[0]é o primeiro item. - Posição negativa conta de trás para frente:
frutas[-1]é o último. len()diz quantos itens a lista tem.
Se você pedir uma posição que não existe, o Python mostra IndexError. Veja como ler esse erro.
Adicionando e removendo
frutas = ["maçã", "pera", "uva"]
frutas.append("manga")
frutas.remove("pera")
print(frutas)Resultado:
['maçã', 'uva', 'manga']
O append coloca um item no final e o remove tira o item com aquele valor. Para saber se um valor está na lista, use in:
frutas = ["maçã", "pera", "uva"]
print("uva" in frutas)
print("kiwi" in frutas)Resultado:
True
False
Ordenando
numeros = [5, 2, 9, 1]
print(sorted(numeros))
print(sorted(numeros, reverse=True))
numeros.sort()
print(numeros)Resultado:
[1, 2, 5, 9]
[9, 5, 2, 1]
[1, 2, 5, 9]
A diferença: sorted() devolve uma lista nova e deixa a original como estava, enquanto .sort() muda a própria lista.
Pegando um pedaço da lista
O "fatiamento" usa [inicio:fim], e o fim não entra:
letras = ["a", "b", "c", "d", "e"]
print(letras[1:4])
print(letras[:2])Resultado:
['b', 'c', 'd']
['a', 'b']
Percorrendo com for e fazendo contas
notas = [7, 8, 5, 10]
for nota in notas:
print(nota)
print(sum(notas))Resultado:
7
8
5
10
30
As funções sum, max e min trabalham direto com listas. Para entender o for, veja loop em Python.
Erros comuns
- Achar que a primeira posição é 1. Ela é 0.
- Pedir uma posição além do fim e receber
IndexError. - Esperar que
.sort()devolva uma lista. Ele muda a lista e devolveNone. - Remover um item que não está lá, o que gera
ValueError. Confira antes comin.
Soma, média, maior e menor
Rode o código. Depois troque as notas e preveja os resultados antes de executar.
notas = [7, 8, 5, 10]
print(sum(notas))
print(sum(notas) / len(notas))
print(max(notas), min(notas))
Resultado esperado:
30
7.5
10 5
A soma dividida pela quantidade de notas dá a média. O max e o min devolvem a maior e a menor.
Perguntas frequentes
Por que a lista começa na posição 0?
É uma convenção da maioria das linguagens: a posição indica a distância do início, e o primeiro item está a distância zero.
Uma lista pode ter tipos misturados?
Pode, como [1, "texto", True]. Mesmo assim, listas de um só tipo são mais fáceis de usar.
Qual a diferença entre lista e dicionário?
Na lista você acessa por posição. No dicionário você acessa por um nome, chamado chave.
Como copiar uma lista?
Use copia = original.copy() ou copia = original[:]. Escrever só copia = original faz as duas variáveis apontarem para a mesma lista.
Fontes e para saber mais
Apoie o EasyCode 💜
O EasyCode é gratuito, independente e sem anúncios. Manter a plataforma rápida, com compiladores no navegador e novos conteúdos atualizados tem custos reais todo mês. Se o site está te ajudando a aprender, veja como apoiar o projeto para continuarmos sempre no ar e acessíveis para todos.
Próximo passo da trilhaO que é função em Python? Como criar e usar, com exemplos