迭代器Iterator
迭代器只能向前拿元素,不能倒退和重置!
#迭代器Iterator
#迭代器只能向前拿元素,不能倒退和重置!
#List迭代器
L=[1,2,3,4,5]
itr=iter(L)
#打印这个迭代器的信息
print(itr)
#运行结果:<list_iterator object at 0x000002950CEB8630>
#使迭代器向后逐个移动
#迭代器如果移动到尾,再移动就会出错
print(itr.__next__())
print(itr.__next__())
print(itr.__next__())
#运行结果:1,2,3
#for循环与迭代器
itr_1=iter(L)
for i in itr_1:
print(i)
for i in iter(range(1,5)):
print(i)
#相当于
for i in range(1,5):
print(i)
#迭代器和tuple等的转换
list_demo=[1,3,5]
itr2tup=iter(list_demo)
print(tuple(itr2tup))
#map类型支持迭代器
mp={"id":12138,"Name":"Biu"}
for i in mp:
print(i)
# map
M = {'id': 1, 'name': 2}
for elem in M:
print(elem)
# file reader 类型支持迭代器
#with open('content.txt') as file_reader:
# for line in file_reader:
# print(line)
# Set 类型支持迭代器
S = {2, 3, 5, 7, 11, 13}
for elem in S:
print(elem)
##itertools的应用
import itertools
#设置一个从1 开始,每次增加一百的迭代计数器
for i in itertools.count(1,100):
print(i)
#设置一个在以下列表[1,2,3,4,5]中循环计数的迭代器
for i in itertools.cycle([1,2,3,4,5]):
print(i)