-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdo_iter.py
66 lines (51 loc) · 1.47 KB
/
do_iter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from collections.abc import Iterable, Iterator
def g():
yield 1
yield 2
yield 3
print("Iterable? [1, 2, 3]:", isinstance([1, 2, 3], Iterable))
print("Iterable? 'abc':", isinstance("abc", Iterable))
print("Iterable? 123:", isinstance(123, Iterable))
print("Iterable? g():", isinstance(g(), Iterable))
print("Iterator? [1, 2, 3]:", isinstance([1, 2, 3], Iterator))
print("Iterator? iter([1, 2, 3]):", isinstance(iter([1, 2, 3]), Iterator))
print("Iterator? 'abc':", isinstance("abc", Iterator))
print("Iterator? 123:", isinstance(123, Iterator))
print("Iterator? g():", isinstance(g(), Iterator))
# iter list:
print("for x in [1, 2, 3, 4, 5]:")
for x in [1, 2, 3, 4, 5]:
print(x)
print("for x in iter([1, 2, 3, 4, 5]):")
for x in iter([1, 2, 3, 4, 5]):
print(x)
print("next():")
it = iter([1, 2, 3, 4, 5])
print(next(it))
print(next(it))
print(next(it))
print(next(it))
print(next(it))
d = {"a": 1, "b": 2, "c": 3}
# iter each key:
print("iter key:", d)
for k in d.keys():
print("key:", k)
# iter each value:
print("iter value:", d)
for v in d.values():
print("value:", v)
# iter both key and value:
print("iter item:", d)
for k, v in d.items():
print("item:", k, v)
# iter list with index:
print("iter enumerate(['A', 'B', 'C']")
for i, value in enumerate(["A", "B", "C"]):
print(i, value)
# iter complex list:
print("iter [(1, 1), (2, 4), (3, 9)]:")
for x, y in [(1, 1), (2, 4), (3, 9)]:
print(x, y)