numbers = [7, 11, 8, 5, 3, 12, 2, 6, 9, 10, 1, 4]
iterator1 = iter(numbers)
iterator2 = iter(numbers)
type(iterator1)
list_iterator
next(iterator1), next(iterator1), next(iterator1)
(7, 11, 8)
next(iterator1), next(iterator2)
(5, 7)
zipper = zip(iterator1, iterator2)
zipper
<zip at 0x7f2788118b00>
type(zipper)
zip
for x, y in zipper:
print(x, "and", y, end=" ")
7 and 4 8 and 5 9 and 6 10 and 7 11 and 8 12 and 9
next(iterator1)
--------------------------------------------------------------------------- StopIteration Traceback (most recent call last) Cell In[25], line 1 ----> 1 next(iterator1) StopIteration:
next(iterator2)
10
for
Statement (revisited)¶iterable = [0, 1, 2, 3, 4]
for element in iterable:
print(element, end=" ")
0 1 2 3 4
iterator = iter(iterable)
while True:
try:
element = next(iterator)
except StopIteration:
break
else:
print(element, end=" ")
del iterator
0 1 2 3 4
numbers = [7, 11, 8, 5, 3, 12, 2, 6, 9, 10, 1, 4]
memoryless = range(1, 13)
sorted(numbers)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
sorted(memoryless)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
reversed(numbers)
<list_reverseiterator at 0x7f2788158880>
reversed(memoryless)
<range_iterator at 0x7f2788158fc0>
list(reversed(numbers))
[4, 1, 10, 9, 6, 2, 12, 3, 5, 8, 11, 7]
tuple(reversed(memoryless))
(12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
for number in reversed(numbers):
print(number, end=" ")
4 1 10 9 6 2 12 3 5 8 11 7
for element in reversed(memoryless):
print(element, end=" ")
12 11 10 9 8 7 6 5 4 3 2 1
numbers
[7, 11, 8, 5, 3, 12, 2, 6, 9, 10, 1, 4]
memoryless
range(1, 13)