Listas em Python
Listas são estruturas de dados ordenadas e mutáveis que permitem armazenar múltiplos valores em uma única variável. Embora seja possível misturar diferentes tipos de dados, normalmente as listas são utilizadas com elementos do mesmo tipo. Para criar uma lista, basta utilizar colchetes e separar os elementos por vírgula. Por exemplo:
numeros = [1, 2, 3, 4, 5]
nomes = ["Ana", "Bruno", "Carla"]
misto = [10, "texto", True, 3.14]
vazia = []
O acesso aos elementos da lista é feito por meio de índices, que começam em zero. Assim, em uma lista de frutas, o índice zero retorna o primeiro elemento, o índice um retorna o segundo e índices negativos acessam elementos a partir do final da lista:
frutas = ["maçã", "banana", "laranja"]
print(frutas[0]) # maçã
print(frutas[1]) # banana
print(frutas[-1]) # laranja
Como listas são mutáveis, é possível alterar valores diretamente. Se quisermos trocar a banana por uva, basta atribuir o novo valor à posição correspondente:
frutas = ["maçã", "banana", "laranja"]
frutas[1] = "uva"
print(frutas) # ['maçã', 'uva', 'laranja']
Um dos métodos mais utilizados em listas é o append, que adiciona um novo elemento ao final da lista. Esse método é bastante prático quando não sabemos de antemão quantos itens teremos, ou quando queremos ir acumulando valores ao longo da execução do programa. Veja um exemplo simples:
numeros = []
numeros.append(10)
numeros.append(20)
numeros.append(30)
print(numeros) # [10, 20, 30]
O append sempre coloca o novo item no final da lista, preservando a ordem dos elementos anteriores. É comum utilizá-lo em laços para construir uma lista dinamicamente. No exemplo abaixo, vamos armazenar os quadrados de números de 1 a 5:
quadrados = []
for i in range(1, 6):
quadrados.append(i * i)
print(quadrados) # [1, 4, 9, 16, 25]
É importante notar que append adiciona o objeto como um único elemento, mesmo que esse objeto seja outra lista. Assim, se fizermos:
lista = [1, 2, 3]
lista.append([4, 5])
print(lista) # [1, 2, 3, [4, 5]]
O resultado será uma lista dentro da outra. Caso a intenção seja adicionar vários elementos de uma vez, deve-se usar o método extend, e não append.
Além do append, também é possível inserir em uma posição específica com insert e remover elementos com remove ou pop. Outro uso comum é percorrer listas com laços de repetição, como no exemplo a seguir:
for fruta in frutas:
print(fruta)
Listas ainda oferecem muitas funcionalidades, como ordenação, contagem de elementos e fatiamento, o que as torna uma das estruturas mais versáteis da linguagem.