Если вы смотрите на произвольный список, вы можете не знать, если элемент находится в списке или какой индекс это. Сначала вы можете проверить, что элемент находится в списке, а затем найдите индекс, чтобы его можно было заменить. Следующий пример будет делать это для всех элементов в списке, который соответствует тому, что вы хотите заменить:
def replace_list_item(old, new, l):
'''
Given a list with an old and new element, replace all elements
that match the old element with the new element, and return the list.
e.g. replace_list_item('foo', 'bar', ['foo', 'baz', 'foo'])
=> ['bar', 'baz', 'bar']
'''
while old in l: # check for old item, otherwise index gives a value error
index = l.index(old)
l[index] = new
return l
затем:
l = ["rock", "sand", "dirt", "sand"]
replace_list_item('sand', 'grass', l)
возвращается:
['rock', 'grass', 'dirt', 'grass']
OMG duh! Thanks – codeman99
@ user2976947 - Счастлив помочь! Не забудьте принять ответ (нажмите галочку), когда система позволяет вам. – iCodez