the thing that is iterated on, e.g. a list of elements , [iterable]
the value that is iterated over, e.g. elements of a list, [ iterator , iterator , iterator , … ]
create and iterable, and move through the iterators
word = "Word"
iterator = iter(word)
next(iterator) #each next() prints a new letter
word = "Word"
iterator = iter(word)
print(*iterator) #prints all letters in one go
enumerate an iterable
print(list(enumerate( my_iterable ))) #starts enumeration with 0
print(list(enumerate( my_iterable, n ))) #starts enumeration with n
print(list(enumerate(my_iterable)))
for index,value in enumerate(my_list):
print(index, value)
for i, v in enumerate(my_iterable):
print(i, v)
creates an iterator of tuples from iterables
list(zip(['A','B'],['C','D'])) creates [('A','C')('B','D')]
print(list(zip( my_iterable1, my_iterable2 )))
print(*zip( my_iterable1, my_iterable2 )))
print(['A', 'B'], [True, False], [11 12]) #prints (['A', 'B'],[True, False], [11, 12])
print(*(['A', 'B'], [True, False], [11 ,12])) #prints ['A', 'B'] [True, False] [11, 12]
print(zip(['A', 'B'], [True, False], [11, 12])) #prints the zip object's memory location
print(list(zip(['A', 'B'], [True, False], [11, 12]))) #prints the list [('A', True, 11), ('B', False, 12]
print(*zip(['A', 'B'], [True, False], [11, 12])) #prints ('A', True, 11) ('B', False, 12)
print(*list(zip(['A', 'B'], [True, False], [11, 12]))) #prints ('A', True, 11) ('B', False, 12)
print(list(zip(*list(zip(['A', 'B'], [True, False], [11 12]))))) #prints [('A', 'B'), (True, False), (11, 12)]
zlist = list(zip(['A', 'B'], [True, False], [11, 12]))
print(*zlist) #prints ('A', True, 11) ('B', False, 12)
x, y, z = list(zip(*zlist))
print(list(zip(*zlist))) #prints [('A', 'B'), (True, False), (11, 12)]
print(x, y, z) #prints ('A', 'B') (True, False) (11, 12)