Я немного удивлен, что никто, кажется, не написал популярный класс-оболочку "MutableString" для Python. Я бы подумал, что вы хотите, чтобы она сохраняла строку в виде списка, возвращая ее через ''.join()
и реализовывала набор методов, включая методы для строк (startswith
, endswith
, isalpha
и все подобные и так одно) и те для списков.
Для простых операций достаточно просто работать со списком и использовать ''.join()
по мере необходимости. Однако, для чего-то вроде: 'foobar'.replace('oba', 'amca')
, когда вы работаете с представлением в списке, это становится уродливым. (that=list(''.join(that).replace(something, it))
... или что-то в этом роде). Постоянное маршалирование между представлениями списка и строки визуально отвлекает.