Бесконечный генератор списка
Задача:
Нужно организовать цикл, который будет бесконечно перебирать содержание списка.
Решений можно придумать несколько.
Я вот сделал так:
def endless_generator(l):
"""
l - <type 'list'>
"""
if not isinstance(l, list):
raise TypeError('argument not <type: list>')
if not len(l):
return
g = l.__iter__()
while True:
try:
yield g.next()
except StopIteration:
g = l.__iter__()
А теперь смотрим что получилось.
test_list = [1,2,3,4]
for i in endless_generator(test_list):
print i
И результат
1
2
3
4
1
2
3
4
1
2
3
4
1
...
И так до бесконечности.
Отзывов: 2
я не помню для чего мне нужно было, но нужно было :)
Интересное решение А вот для каких практических целей оно может пригодиться
Оставить комментрий