Besides list comprehension, you can try map()
>>> map(lambda x: str.replace(x, "[br]", "<br/>"), words)
['how', 'much', 'is<br/>', 'the', 'fish<br/>', 'no', 'really']
Or another way is enumerate() function
words = ['how', 'much', 'is[br]', 'the', 'fish[br]', 'no', 'really']
# Replacing items using enumerate()
for index, value in enumerate(words):
# if value includes [br] then replace it with <br>
if '[br]' in value:
words[index] = value.replace('[br]', '<br>')
print(words)
# Output: ['how', 'much', 'is<br>', 'the', 'fish<br>', 'no', 'really']
enumerate is faster than map.