Adicionando e removendo itens

Veja como colocar novos valores em uma lista e remover o que não precisa mais.

Uma das maiores qualidades das listas no Python é que elas são dinâmicas. Isso significa que elas não têm um tamanho fixo: você pode colocar novos elementos ou tirar itens de dentro delas a qualquer momento enquanto o programa está rodando.

Se a nossa lista é como um carrinho de compras, agora vamos aprender a colocar novos produtos nele ou retirar as coisas de que não precisamos mais.

Adicionando itens na lista

O Python nos dá duas formas principais de colocar itens em uma lista: no final dela ou em uma posição específica.

1. O método .append() (adicionar no final)

Como vimos na primeira lição de listas, o .append() serve para colocar um item no final da lista.

É o ato de ir ao supermercado e colocar um produto após o outro dentro do carrinho. Cada produto novo vai sempre para cima dos anteriores.

compras = ["pão", "leite"]

# Adicionando café no final da lista
compras.append("café")

print(compras)  # Mostra: ['pão', 'leite', 'café']

2. O método .insert() (inserir em uma posição específica)

Se você não quer colocar o item no final, mas sim em uma posição específica da lista, você usa o .insert(). Ele "empurra" os itens da frente para o lado para abrir espaço.

É como furar a fila de forma autorizada. Se você entra na posição 1 da fila, a pessoa que estava na posição 1 e todas as outras atrás dela dão um passo para trás (seus índices aumentam em 1).

  • A sintaxe: lista.insert(indice, valor)
compras = ["pão", "leite"]

# Inserindo "café" na posição de índice 1 (entre pão e leite)
compras.insert(1, "café")

print(compras)  # Mostra: ['pão', 'café', 'leite']

Removendo Itens da Lista

Para tirar coisas da lista, o Python nos oferece duas ferramentas com propósitos diferentes.

1. O método .remove() (remover por nome/valor)

Use o .remove() quando você sabe o nome do que quer tirar da lista, mas não sabe ou não se importa com a posição (índice) dele.

  • Exemplo: Você olha para a sua sacola, vê que pegou um "sabão" por engano, e o tira da sacola.
  • Cuidado: Se a lista tiver itens repetidos, o .remove() apagará apenas a primeira ocorrência que encontrar (de esquerda para a direita). Se o item não existir na lista, o Python dará um erro (ValueError).
# Removendo o leite
compras = ["pão", "leite", "café"]
compras.remove("leite")  
print(compras)  # Mostra: ['pão', 'café']

# Removendo o leite em uma lista onde o leite aparece mais de uma vez
compras = ["pão", "leite", "leite", "café"]
compras.remove("leite")
print(compras)  # Mostra: ['pão', 'leite', 'café']

# Tentando remover item que não está na lista
compras = ["pão", "leite", "café"]
compras.remove("batata")  # Gera erro: ValueError: list.remove(x): x not in list

2. O método .pop() (remover por índice/posição)

Use o .pop() quando você quer tirar um item com base na posição dele na lista. A grande vantagem do .pop() é que ele devolve o item removido para você poder guardá-lo em uma variável.

  • Sem índice: Se você chamar .pop() sem passar nenhum número nos parênteses, ele removerá o último item da lista por padrão.
#  Removendo o item do índice 1 (leite) e guardando em uma variável
compras = ["pão", "leite", "café"]
item_retirado = compras.pop(1)
print("Tirei o item:", item_retirado)  # Mostra: Tirei o item: leite
print("Lista atual:", compras)  # Mostra: Lista atual: ['pão', 'café']

# Removendo o último item da lista (.pop sem parâmetros)
compras = ["pão", "leite", "café"]
ultimo = compras.pop()
print("Último item retirado:", ultimo)  # Mostra: Último item retirado: café
print("Lista final:", compras)  # Mostra: Lista final: ['pão', 'leite']

O que aprendemos nesta lição

Nesta lição, você aprendeu que:

  • As listas são dinâmicas e podem mudar de tamanho a qualquer momento.
  • O método .append(item) adiciona um elemento no final da lista.
  • O método .insert(indice, item) adiciona um elemento em uma posição específica.
  • O método .remove(valor) procura e exclui o primeiro item que tiver aquele valor específico (gerando erro se o valor não existir).
  • O método .pop(indice) remove e retorna o elemento de uma posição. Se usado sem índice, ele remove o último item da lista por padrão.