Вы можете использовать понимание списка:
list_of_strings = [x.replace('1', 'Ace') for x in list_of_strings]
Это естественно в Python.Нет существенного преимущества в изменении вашего первоначального списка напрямую;оба метода будут иметь сложность времени O ( n ).
Причина, по которой ваш код не работает, заключается в том, что str.replace
не работает на месте.Он возвращает копию, как указано в документах .Вы можете перебрать объект range
, чтобы изменить свой список:
for i in range(len(list_of_strings)):
list_of_strings[i] = list_of_strings[i].replace('1', 'Ace')
Или использовать enumerate
:
for idx, value in enumerate(list_of_strings):
list_of_strings[idx] = value.replace('1', 'Ace')