Listas
A principal coleção do Python
Depois de conhecer o que são coleções no Python, é hora de mergulhar na mais utilizada delas: a lista. Ela aparece em praticamente todo tipo de programa porque é simples, flexível e fácil de trabalhar.
O que é uma lista?
Uma lista permite guardar vários valores dentro de uma única variável. Ela é uma coleção:
- ordenada, que mantém a ordem dos itens dentro dela;
- mutável, permitindo alterações a qualquer momento;
- que pode armazenar tipos variados, como números, strings e até outras listas.
Veja como funciona:
1frutas = ["maçã", "banana", "uva"] 2print(frutas) 3 4# Saída: 5# ['maçã', 'banana', 'uva']
Você também pode criar listas vazias:
1lista_vazia = [] 2print(lista_vazia) 3 4# Saída: 5# []
O que é um índice?
Algumas coleções guardam valores em sequência, e cada valor ocupa uma posição chamada índice.
No dia a dia, costumamos contar a partir do 1 (primeiro item, primeira cadeira, primeiro capítulo). Mas em Python, e na maior parte das linguagens, a contagem começa no 0.
Isso significa que:
- o primeiro item está na posição
0 - o segundo está na posição
1 - o terceiro está na posição
2
Pense no índice como o número de uma casa em uma rua: ele diz onde cada item está. Para acessar um item, usamos o número da posição dele na lista, ou seja, seu índice, dentro dos colchetes ([]):
1cores = ["azul", "verde", "roxo"] 2 3print(cores) 4print(cores[0]) 5print(cores[1]) 6print(cores[2]) 7 8# Saída: 9# ['azul', 'verde', 'roxo'] 10# azul 11# verde 12# roxo
Essa forma de contagem pode parecer estranha no começo, mas logo se torna natural.
Índices negativos
Python também permite contar de trás para frente usando índices negativos:
-1→ último item-2→ penúltimo item- e assim em diante...
1cores = ["azul", "verde", "roxo"] 2 3print(cores[-1]) 4print(cores[-2]) 5print(cores[-3]) 6 7# Saída: 8# roxo 9# verde 10# azul
Fatiamento (slicing)
Podemos também acessar intervalos da lista. Para isso, usamos o índice do início do intervalo e o índice do fim dentro dos colchetes, separados por dois pontos: lista[início:fim].
Mas tem um detalhe importante: o item de início é incluído no intervalo e o de fim não é. Observe como funciona:
1frutas = ["maçã", "banana", "uva", "laranja", "kiwi"] 2print(frutas[1:4]) 3 4# Saída: 5# ['banana', 'uva', 'laranja']
Apenas os dados nas posições 1 ("banana"), 2 ("uva") e 3 ("laranja) são impressos. O que está na posição 4 ("kiwi") não é incluído.
Também é possível usar índices negativos para selecionar itens. O intervalo [-4:-1] começa em "laranja" e vai até antes de "manga":
1frutas = ["maçã", "banana", "cereja", "laranja", "kiwi", "melão", "manga"] 2print(frutas[-4:-1]) 3 4 5# Saída: 6# ['laranja', 'kiwi', 'melão']
Algumas variações úteis:
1frutas = ["maçã", "banana", "uva", "laranja", "kiwi"] 2 3print(frutas[:3]) # do início até antes do índice 3 4print(frutas[2:]) # do índice 2 até o final 5print(frutas[::2]) # pulando de 2 em 2 (índices 0, 2 e 4) 6 7# Saída: 8# ['maçã', 'banana', 'uva'] 9# ['uva', 'laranja', 'kiwi'] 10# ['maçã', 'uva', 'kiwi']
Percebeu o poder das listas como ferramenta do nosso código?
Na próxima lição, vamos explorar como manipulá-las: adicionar, remover, reorganizar e modificar seus valores. Vamos usar os principais recursos que o Python oferece para trabalhar com esse tipo de estrutura.