#python #python-3.x #python-c-api
#python #python-3.x #python-c-api
Вопрос:
Я не могу легко узнать точный размер строки, которую я создам. Я знаю только верхнюю границу, которая должна быть в пределах 1-2 символов от конечного размера. Как мне уменьшить строку после ее заполнения?
Комментарии:
1. Вы этого не делаете. В C вы могли бы использовать realloc , но python не предоставляет подпрограммы микроуправления памятью. Реальный вопрос в том, почему вас все равно волнует несколько байтов?
2. Также python выполняет некоторое интернирование для небольших строк, поэтому то, что вы хотите сделать, может на самом деле использовать больше памяти.
3. @Claris ‘asdf’ != ‘asdf 0 0’
Ответ №1:
На основе вашего комментария:
- Если вы пытаетесь удалить символы из своей строки, используйте метод .strip().
- Если вы хотите, чтобы количество байтов строки сравнивалось с количеством символов, вам нужно изменить кодировку.
- Если вы просто пытаетесь удалить символ , используйте метод .replace() .
Комментарии:
1. Я знаю, что я сделаю не более 1005 символов ASCII. Я выделяю строку ASCII из 1005 символов. Я заполняю 1003 символа. Как мне сделать строку длиной 1003 символа без перераспределения?