Python中迭代器的应用

迭代器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)
发布了52 篇原创文章 · 获赞 27 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_37457432/article/details/87973248