codeAB 2019-11-01
Python 迭代器
来自https://www.runoob.com/python3/python3-iterator-generator.html
来自https://www.liaoxuefeng.com/wiki/1016959663602400/1017323698112640
迭代器的特性:
L = [1, 2, 3, 4] it = iter(L) print(it) # 输出:<list_iterator object at 0x00000000024B9198> print(type(it)) # 输出:<class ‘list_iterator‘> print(next(it)) # 输出:1 print(next(it)) # 输出:2 T = (5, 6, 7, 8) it_1 = iter(T) print(it_1) # 输出:<tuple_iterator object at 0x00000000024B9208> print(type(it_1)) # 输出:<class ‘tuple_iterator‘> print(next(it_1)) # 5 print(next(it_1)) # 6 S = "You‘re really nice" it_2 = iter(S) print(it_2) # 输出:<str_iterator object at 0x00000000024B92E8> print(type(it_2)) # 输出:<class ‘str_iterator‘> print(next(it_2)) # 输出:Y print(next(it_2)) # 输出:o
# 方法1
L = [1, 2, 3, 4]
it = iter(L) # 创建迭代器
for x in it:
print(x, end=" ")
# 输出:1 2 3 4
# 方法2
import sys
L2 = [1, 2, 3, 4]
it2 = iter(L2)
while True:
try:
print(next(it2))
except StopIteration:
sys.exit()