Jeg må søke gjennom en liste og erstatte alle forekomster av ett element med et annet. Så langt kommer jeg ingen vei med mine forsøk i kode, hva er den beste måten å gjøre dette på?
Anta for eksempel at listen min har følgende heltall
>>> a = [1,2,3,4,5,1,2,3,4,5,1]
og jeg trenger å erstatte alle forekomster av tallet 1 med verdien 10, slik at utdataene jeg trenger er
>>> a = [10, 2, 3, 4, 5, 10, 2, 3, 4, 5, 10]
Målet mitt er altså å erstatte alle forekomster av tallet 1 med tallet 10.
Prøv å bruke en listeforståelse og ternær operator.
>>> 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]
>>>