Tenho de procurar numa lista e substituir todas as ocorrências de um elemento por outro. Até agora as minhas tentativas em código não me levam a lado nenhum, qual é a melhor maneira de fazer isto?
Por exemplo, suponha que a minha lista tenha os seguintes números inteiros
>>> a = [1,2,3,4,5,1,2,3,4,5,1]
e preciso de substituir todas as ocorrências do número 1 pelo valor 10 para que a saída que preciso seja
>>> a = [10, 2, 3, 4, 5, 10, 2, 3, 4, 5, 10]
Assim, meu objetivo é substituir todas as instâncias do número 1 pelo número 10.
Tente usar um compreensão de lista e o operador ternário.
>>> a=[1,2,3,1,3,2,1,1]
>>> [4 if x==1 else x for x in a]
[4, 2, 3, 4, 3, 2, 4, 4]
>>> a= [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1]
>>> for n, i in enumerate(a):
... if i == 1:
... a[n] = 10
...
>>> a
[10, 2, 3, 4, 5, 10, 2, 3, 4, 5, 10]
>>> a=[1,2,3,4,5,1,2,3,4,5,1]
>>> item_to_replace = 1
>>> replacement_value = 6
>>> indices_to_replace = [i for i,x in enumerate(a) if x==item_to_replace]
>>> indices_to_replace
[0, 5, 10]
>>> for i in indices_to_replace:
... a[i] = replacement_value
...
>>> a
[6, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6]
>>>