Substituir um Elemento na Lista Python
- Encontrar e Substituir os elementos da lista Python pelo método de indexação da lista Python
-
Encontrar e Substituir os Elementos da Lista Python pelo Método Loop
for
- Encontrar e Substituir os elementos da Lista Python pelo Método de Compreensão da Lista
-
Encontrar e Substituir os elementos da lista Python pelo método
map
- Observações:
Poderíamos substituir elementos de uma lista Python de várias maneiras. Podemos utilizar a indexação de elementos da lista Python, a função for
loop, map
, e métodos de compreensão da lista.
Este artigo irá discutir os métodos acima referidos para encontrar e substituir os elementos da lista Python.
Encontrar e Substituir os elementos da lista Python pelo método de indexação da lista Python
Tomemos a lista abaixo como exemplo.
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
Vamos alterar o elemento no índice 0
de 5 para 20.
O código do exemplo é o seguinte.
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
my_list[0] = 20
print(my_list)
Resultado:
[20, 10, 7, 5, 6, 8, 5, 15]
Encontrar e Substituir os Elementos da Lista Python pelo Método Loop for
Utilizamos a função enumerate()
neste método. Retorna um objecto enumerate
que também contém o contador juntamente com os elementos. Quando combinamos a função enumerate()
com o laço for
, itera o objecto enumerate
e obtém o índice e o elemento juntos.
O código é:
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
for index, value in enumerate(my_list):
if value == 5:
my_list[index] = 9
print(my_list)
Resultado:
[9, 10, 7, 9, 6, 8, 9, 15]
Encontrar e Substituir os elementos da Lista Python pelo Método de Compreensão da Lista
Neste método, podemos gerar uma nova lista, aplicando condições pré-definidas na lista antiga.
A Sintaxe é:
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
[9 if value == 5 else value for value in my_list]
print(my_list)
Resultado:
[9, 10, 7, 9, 6, 8, 9, 15]
Encontrar e Substituir os elementos da lista Python pelo método map
Este método altera as entradas da segunda lista com o índice dos itens da primeira lista.
O código é:
list_1 = [5, 10, 7]
list_2 = [7, 10, 7, 5, 7, 5, 10]
ent = {k: i for i, k in enumerate(list_1)}
result = list(map(ent.get, list_2))
print("list2 after replacement is:", result)
Resultado:
list2 after replacement is: [2, 1, 2, 0, 2, 0, 1]
Observações:
- O método de indexação de listas é bom quando substituímos um elemento de uma lista.
- O método de compreensão de lista é a escolha certa quando substituímos múltiplos elementos de uma lista com base em critérios selectivos.
- Os métodos de loop são desencorajados, uma vez que leva mais tempo de execução e memória.