HOWTO · Python
Remova o primeiro elemento de uma lista em Python
Este tutorial demonstra como remover o primeiro elemento de uma lista em Python.
Nesta página
Para remover o primeiro item de uma lista Python e alterar essa lista, use items.pop(0) ou del items[0]. O índice 0 corresponde à primeira posição. Use items[1:] quando precisar de uma lista separada sem essa posição; use remove(value) somente quando souber qual valor deseja remover.
Use pop(0) para remover o primeiro item diretamente na lista
pop(0) remove o item do índice 0 da lista original e retorna esse item. Isso é útil quando o código seguinte precisa tanto do valor removido quanto da lista atualizada. Se você chamar pop() sem informar um índice, o último item será removido.
Execute este exemplo:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
items = ["red", "green", "blue"]
removed = items.pop(0)
print(removed)
print(items)
A lista original é alterada, então outras variáveis que apontam para a mesma lista também refletem a remoção. Ao remover um item do início de uma lista Python, os itens restantes avançam uma posição; se precisar remover vários itens seguidos pela esquerda, considere usar uma deque.
Use del para remover o primeiro item diretamente na lista
Use del items[0] quando quiser remover a primeira posição, mas não precisar do valor removido. Assim como pop(0), essa instrução altera a lista original, mas del é uma instrução e não retorna um item.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
items = ["red", "green", "blue"]
del items[0]
print(items)
Use remove() somente para remover um valor específico
items.remove(value) procura o primeiro item igual a value e remove essa ocorrência. Isso não significa “remover o item do índice 0”. Se você já souber qual é o primeiro valor, informe-o diretamente. Quando há valores duplicados, somente a primeira ocorrência correspondente é removida.
Por exemplo, se items for ["red", "green", "red"], items.remove("red") deixará ["green", "red"]. Se você não souber o primeiro valor, mas quiser remover a primeira posição, use pop(0) ou del items[0]. Uma lista vazia não tem um primeiro valor que possa ser passado para remove().
Use fatiamento quando precisar de uma nova lista sem o primeiro item
items[1:] cria uma nova lista com todos os itens do índice 1 até o final. A lista original permanece inalterada. Atribua o resultado novamente a items se quiser que a variável passe a se referir à lista fatiada:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
items = ["red", "green", "blue"]
remaining = items[1:]
print(remaining)
print(items)
O fatiamento não precisa de um índice final explícito, pois o Python usa o final da lista por padrão. O resultado é uma cópia superficial: a lista externa é nova, mas os objetos mutáveis dentro dela continuam compartilhados.
Use numpy.delete() ao trabalhar com um array NumPy
Para um array NumPy unidimensional, numpy.delete(array, 0) retorna um novo array sem o valor do índice 0; o array de entrada não é alterado. Em um array multidimensional, o padrão axis=None achata o array antes da remoção. Portanto, especifique um eixo quando quiser remover uma linha ou coluna: por exemplo, numpy.delete(array, 0, axis=0) retorna um novo array sem a primeira linha. Essa função requer NumPy e opera em arrays; não é um método de lista Python. Use-a quando os dados já estiverem em um array, em vez de converter uma lista comum para fazer uma única remoção.
Use deque.popleft() para remover itens repetidamente pela esquerda
Quando uma fila precisa de remoções repetidas pelo lado esquerdo, collections.deque oferece o método popleft(). Ele remove e retorna o item mais à esquerda. Uma deque foi projetada para operações eficientes nas duas extremidades, enquanto a remoção do primeiro item de uma lista desloca os itens restantes. Para remover um item de uma lista comum, pop(0) ou del items[0] é mais simples; converta para deque quando o fluxo de trabalho também se beneficiar de operações de fila.