enumerate
создает итератор . Итератор - это объект Python, который знает только о текущем элементе последовательности и о том, как получить следующий, но нет способа перезапустить его. Поэтому, если вы используете итератор в цикле, он не может дать вам больше элементов и выглядит пустым.
Если вы хотите создать реальную последовательность из итератора, вы можете вызвать list
для нее.
stuff = range(5,0,-1)
it = enumerate(stuff)
print dict(it), dict(it) # first consumes all items, so there are none left for the 2nd call
seq = list(enumerate(stuff)) # creates a list of all the items
print dict(seq), dict(seq) # you can use it as often as you want