У меня есть list
объектов пользовательского класса (пример ниже).
Использование: list(itertools.chain.from_iterable(myBigList))
Я хотел "объединить" все подстраницы stations
в один большой список. Поэтому я подумал, что мне нужно сделать свой пользовательский класс итерабельным.
Вот пример моего пользовательского класса.
class direction(object) :
def __init__(self, id) :
self.id = id
self.__stations = list()
def __iter__(self):
self.__i = 0 # iterable current item
return iter(self.__stations)
def __next__(self):
if self.__i<len(self.__stations)-1:
self.__i += 1
return self.__stations[self.__i]
else:
raise StopIteration
Я реализовал __iter__
и __next__
, но он не работает. Их даже не называют.
Любая идея, что я мог сделать неправильно?
Примечание. Использование Python 3.3