Your version does not work because index always get the first match. And this code is way cleaner and shorter:
def search_for_string(lists,str1):
list2=[]
for index, value in enumerate(lists):
if value==str1:
lists[index] = 'xxxxx'
list2.append(index)
return list2
sample_list = ["artichoke", "turnip", "tomato", "potato", "turnip", "turnip", "artichoke"]
print(search_for_string(sample_list, "turnip"))
Output :
C:\Users\Documents>py test.py
[1, 4, 5]
solved How to add elements in list in for loop? My output is [1,1,1] instead of [1,4,5] [closed]