On converting enumerate object becomes empty:
myTuple = (1, 2, 3)
myEnum = enumerate(myTuple)
print(myEnum)
print(list(myEnum))
print(myEnum)
print(list(myEnum))
On converting enumerate object becomes empty:
myTuple = (1, 2, 3)
myEnum = enumerate(myTuple)
print(myEnum)
print(list(myEnum))
print(myEnum)
print(list(myEnum))
 
    
    enumerate returns an object that you can iterate once. That uses it up.
If you want to enumerate a sequence multiple times, you can call enumerate multiple times:
for i,x in enumerate(my_items):
    print(i,x)
for i,x in enumerate(my_items):
    print(i,x)
or you convert the enumerate object to a list, and then iterate that multiple times:
enumerated_items = list(enumerate(my_items))
for i,x in enumerated_items:
    print(i,x)
for i,x in enumerated_items:
    print(i,x)
What you can't do is iterate the enumerate object itself multiple times:
e = enumerate(my_items):
for i,x in e:
    print(i,x)
for i,x in e:
    print(i,x) # won't happen
because the enumerate object is used up by the first iteration.
In this particular question, passing an enumerate object to list is equivalent to iterating through it and adding each item to a list, so that also uses up the enumerate object.
