Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262

Не удаляется символ из списка

12.09.2021, 18:03. Показов 6138. Ответов 9

Студворк — интернет-сервис помощи студентам
Всем привет. Подскажите пожалуйста, почему не поддерживается удаление символа в данном случае? Когда я ввожу
Python
1
2
str = ['a', 'b', 'c']
del str[1]
Всё удаляется отлично. В программе ниже делаю тоже самое, но работать уже не хочет. Ошибка: TypeError: 'str' object doesn't support item deletion
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
str = input()
k = 1
start = 0
end = 0
nach = 0
for i in range(len(str)):
    if i!=0:
        print(str[i], ' == ', str[i-1], '?')
        if str[i]==str[i-1]:
            k+=1
            if nach ==0:
                start = i-1
                nach = 1
        elif (k>1) and (str[i]!=str[i-1]):
            end = i-1
            while k!=1:
                if (end-start)!=1:
                    del str[end] #?????????
                    end-=1
                k-=1
            k=0
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2021, 18:03
Ответы с готовыми решениями:

Не удаляется символ
Что не так здесь? Отладчик на саму функцию заходит, но ничего она не делает. Edit1->Text = "g"; for (int i =...

Удаляется символ
static void Main() { string str = Console.ReadLine(); string result = ""; ...

Не удаляется символ в string
internal class check { public string alphabet = "abcdefghijklmnopqrstuvwxyz"; public bool DetectPangram; ...

9
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
12.09.2021, 18:18
Вы используете str из встроенного пространства имён, а str как известно неизменяемый тип данных в Python. Назовите lst, если не получается, запускаем код на отладку.
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
12.09.2021, 18:19
скорее всего удаление тут вам вообще не нужно.
как задача звучит?
1
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262
12.09.2021, 18:54  [ТС]
Цитата Сообщение от AlexMarkov Посмотреть сообщение
Вы используете str из встроенного пространства имён, а str как известно неизменяемый тип данных в Python
Заменил переменную, та же самая ошибка
Цитата Сообщение от eaa Посмотреть сообщение
скорее всего удаление тут вам вообще не нужно.
как задача звучит?
При повторении одного символа подряд несколько раз (без учета регистра) записывать этот символ (один раз), а затем –число его повторений. Например: для строки «aAAaBccd» «сжатая» запись имеет вид «a4bc2d» или «A4BC2D» (допускаются оба варианта).
Моя идея для решения: если повторений буквы = 2, то последний символ заменить на количество букв, пример: ааBBcc => a2b2c2 (подчёркнутые буквы заменяются на количество). Если повторений больше 2, то удалять повторяющиеся символы, пока не останется 2 буквы и последнюю заменить на количество, пример: aaaaaaBBBBBcccccc => a6b5c6 (подчёркнутые буквы удаляются, жирные заменяются на количество)
0
 Аватар для Semen-Semenich
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,307
12.09.2021, 18:59
Лучший ответ Сообщение было отмечено Fa4stik как решение

Решение

Цитата Сообщение от Fa4stik Посмотреть сообщение
Когда я ввожу
вы работаете со списком и удаляете из списка.
Цитата Сообщение от Fa4stik Посмотреть сообщение
В программе ниже делаю тоже самое
совсем не то же. вы пытаетесь удалить или изменить строку. строки неизменяемы
о чем вам и говорит ошибка:
Объект типа «str» не поддерживает удаление элемента
1
 Аватар для menreiven
192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299
12.09.2021, 19:04
del
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
12.09.2021, 19:13
Лучший ответ Сообщение было отмечено Fa4stik как решение

Решение

Fa4stik, вот вот. эта задача решается совсем по другому. вам нужно накапливать результат в отдельную переменную.
1
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262
12.09.2021, 19:50  [ТС]
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
совсем не то же. вы пытаетесь удалить или изменить строку. строки неизменяемы
о чем вам и говорит ошибка:
Объект типа «str» не поддерживает удаление элемента
Спасибо! В python есть функция разбиения строки на массив символов? К примеру, как в c# ToCharArray()
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
12.09.2021, 20:10
Лучший ответ Сообщение было отмечено Fa4stik как решение

Решение

если я правильно понял задачу:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
s = input().lower()
k = 1
res = ''
prev = s[0]
for i in range(1, len(s)):
    curr = s[i]
    if prev == curr:
        k += 1
    else:
        res += f'{prev}{k}'
        k = 1
        prev = curr
res += f'{prev}{k}'
print(res)
1
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262
12.09.2021, 21:15  [ТС]
Цитата Сообщение от eaa Посмотреть сообщение
если я правильно понял задачу:
Спасибо большое! Безумная благодарность
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.09.2021, 21:15
Помогаю со студенческими работами здесь

Удаляется последний символ в запросе
хочу сделать отчет, чтобы выдавались накладные по заданному диапазону дат. но тут такая проблема... я пишу запрос, а он удаляет последний...

Не удаляется последний символ строки
Почему не удаляет последний символ строки, выдает, что такого символа нет. Как это исправить, помогите, пожалуйста. puts("enter char...

Удаляется 1 символ из строки при mb_ereg_replace
Используя mb_ereg_replace убирается 1 символ из строки, как это исправить? $txt = file_get_contents('/test.txt', true); print...

Пишу код и следующий символ удаляется
Создаю новый проект в Delphi XE3. Хочу например к переменным "x,y,k" дописать что-то в начало. Начинаю писать, например напишу...

Не удаляется объект из списка
у меня есть список: private List<T> List = new List<T>(); где класс Т: public class T : MonoBehaviour { public GameObject...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru