W3docs

Alterar Itens de Lista

Aprenda a alterar itens de lista em Python com atribuição por índice, fatiamento, append(), insert(), extend() e compreensão de lista.

As listas em Python são mutáveis, o que significa que você pode alterar seu conteúdo após a criação. Este capítulo cobre todas as técnicas práticas para modificar itens de lista: atribuição direta por índice, substituição por fatiamento, append(), insert(), extend() e compreensão de lista. Entender quando usar cada abordagem é fundamental para escrever código Python limpo e eficiente.

Alterando um único item por índice

A forma mais direta de alterar um item é atribuir um novo valor à sua posição de índice. Os índices de lista começam em 0.

fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
print(fruits)

Saída:

['apple', 'mango', 'cherry']

Indexação negativa conta a partir do final da lista. O índice -1 é o último item, -2 é o penúltimo, e assim por diante.

colors = ["red", "green", "blue"]
colors[-1] = "yellow"
print(colors)

Saída:

['red', 'green', 'yellow']

Se você tentar atribuir a um índice que não existe, o Python lança um IndexError. Use padrões de acesso a listas ou len() para permanecer dentro dos limites.

Substituindo um intervalo de itens com fatiamento

A atribuição por fatiamento substitui uma seção contígua de uma lista por outra lista. O fatiamento my_list[start:end] seleciona itens do índice start até (mas não incluindo) o índice end.

python— editable, runs on the server

Saída:

[1, 20, 30, 5]

Observe que a lista de substituição não precisa ter o mesmo tamanho que o fatiamento. Aqui, três itens (2, 3, 4) foram substituídos por dois itens (20, 30), reduzindo a lista em um elemento.

Você também pode inserir itens sem remover nenhum usando um fatiamento vazio:

letters = ["a", "b", "e"]
letters[2:2] = ["c", "d"]
print(letters)

Saída:

['a', 'b', 'c', 'd', 'e']

append() — adicionar um item ao final

O método append() adiciona um único item ao final de uma lista e modifica a lista no lugar. Ele sempre adiciona exatamente um elemento, mesmo que esse elemento seja uma lista.

python— editable, runs on the server

Saída:

[1, 2, 3, 4, 5]

Acrescentar uma lista como um único item a aninha em vez de mesclá-la:

my_list = [1, 2, 3]
my_list.append([4, 5])
print(my_list)

Saída:

[1, 2, 3, [4, 5]]

Use extend() quando quiser mesclar todos os itens de outra lista.

insert() — adicionar um item em uma posição específica

O método insert() coloca um novo item em um índice específico, deslocando todos os itens seguintes uma posição para a direita.

python— editable, runs on the server

Saída:

[1, 2, 99, 3, 4]

insert() nunca lança um IndexError para posições fora do intervalo. Se você passar um índice maior que o comprimento da lista, o item é adicionado ao final. Se você passar um índice negativo além do início, ele é adicionado no início.

extend() — mesclar outro iterável na lista

O método extend() acrescenta cada item de um iterável (lista, tupla, string, etc.) ao final da lista. A lista original cresce no lugar.

python— editable, runs on the server

Saída:

[1, 2, 3, 4, 5, 6, 7]

extend() vs append() em resumo:

MétodoO que adicionaResultado para [1,2] + [3,4]
append([3,4])Um elemento (uma lista aninhada)[1, 2, [3, 4]]
extend([3,4])Cada elemento individualmente[1, 2, 3, 4]

Compreensão de lista — transformar itens com uma nova lista

A compreensão de lista cria uma nova lista aplicando uma expressão a cada item (com um filtro opcional). Após a compreensão, você reatribui a variável — a lista original não é mutada no lugar.

python— editable, runs on the server

Saída:

[4, 8, 12]

Você também pode transformar cada item sem filtrar:

prices = [10.0, 25.5, 8.75]
discounted = [round(p * 0.9, 2) for p in prices]
print(discounted)

Saída:

[9.0, 22.95, 7.88]

Use compreensão de lista quando quiser uma solução limpa e legível em uma linha para produzir uma cópia modificada de uma lista.

Escolhendo a abordagem certa

ObjetivoMelhor método
Alterar um item em uma posição conhecidaAtribuição por índice list[i] = value
Substituir um intervalo de itensAtribuição por fatiamento list[a:b] = new_items
Adicionar um item ao finalappend()
Adicionar um item em uma posição específicainsert(index, value)
Mesclar todos os itens de outro iterávelextend()
Produzir uma cópia modificada com base em uma regraCompreensão de lista

Para remover itens de uma lista, veja Remover Itens de Lista. Para ordenar uma lista no lugar, veja Ordenar Listas. Para uma referência completa de todos os métodos de lista, veja Métodos de Lista.

Prática

Prática
In Python, how can we change items in a list?
In Python, how can we change items in a list?
Was this page helpful?