Было бы лучше использовать memoryview
, itertools.islice
или что-то еще (например, var = (start, stop)
) в качестве указателя в Python на подстроку очень большой строки?
Контекст: у меня есть некоторыеочень длинные строки, которыми мне нужно манипулировать (вырезать и вставлять подстроки и т. д.), не создавая новую строку каждый раз.
Я выполняю это, создавая двоичное дерево поиска, в котором каждый узел представляет подстроку, а затем используяОперации разделения / слияния (структура данных Rope).
Каждому узлу нужна ссылка, прикрепленная к нему на подстроку исходной очень большой строки, которую представляет узел.(Это необходимо, чтобы при обходе дерева для получения окончательно отредактированной строки я возвращал части исходной строки в исправленной последовательности.)
Я мог бы прикрепить кортеж, представляющий начало /остановите значения для каждого узла и затем используйте нарезку string[start:stop]
, но в C вы бы использовали указатель и количество символов.
Было бы лучше сделать что-то подобное в Python, либо с memoryview
, либо сislice
или с чем-то еще?