В настоящее время я создаю пиксельный итератор изображения, и я выбираю точку на двумерной сетке и выполняю итерации наружу ( вверх, вниз, влево, вправо и т. Д.).В процессе разработки я написал цикл for, подобный этому, чтобы посмотреть, как он будет функционировать:
expanding = [1, 2]
# Expected functionality: continues to iterate "3" forever.
for expand in expanding:
expanding.append(3)
Я ожидал бы, что это будет продолжаться в бесконечном цикле с повторяющейся последовательностью, выглядящей следующим образом: 1
, 2
, 3
, 3
, 3
, 3
, ...
и т. Д.Хотя кажется, что он закрывается только на 2
из-за структуры моих выходных данных.
Эта часть моего алгоритма имеет задачу разбить изображение на его цветовые группы, выбирая случайные координаты и расширяясь наружу, проверяя,цветовой диапазон слишком далеко от родительского цвета, поэтому требуется непрерывный итератор, пока он не завершится ни при чем.
Использование будет , позволяющим просто добавлять к массиву его для повторенияв будущем, без необходимости заканчивать массив и удалять определенные элементы перед продолжением, как «живой цикл» .