Удаление пробелов через итератор Python
Не понимаю как удалить все пробелы в rev, пробовал через кортежи и списки, не получается. Удаление пробелов должно происходить в методах класса.
class Reverse:
"""Итератор для переворачивания последовательности"""
def __init__(self, data): # инициализация
self.data = data # переменной задается значение параметра
self.index = len(data) # определяем длину параметра
def __iter__(self): # включаем итерационный процесс
return self
def __next__(self):
if self.index == 0: # если длина == 0
raise StopIteration # вызов исключения, останавливающего итерацию
self.index = self.index - 1 # если не равна, то индекс уменшаем на единицу
return self.data[self.index] # и возвращаем предыдущий элемент
rev = Reverse('А роза упала на лапу Азора')
for char in rev:
print(char) # каждый вывод дает следующий (с конца) элемент
Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
Измените в __init__ если в дальнейшем вам не нужна оригинальная строка:
self.data = data.replace(" ","")
self.index = len(self.data)
Ну, либо добавить метод:
def clear_from_spaces(self):
self.data = data.replace(" ", "")