python 中 iter() 与next()的基本使用
iter() 与 next() 分别用于得到可迭代对象的迭代器以及对迭代器数据的获取
可迭代对象一般分为集合,元组,字典,列表等几类容器。
在这里插入代码片
from collections.abc import Iterable
city=("北京","上海","广州","深圳") #可迭代对象
print(isinstance(city,Iterable)) #True
city_iter=iter(city) #获取迭代器
#print(isinstance(city_iter)) #TypeError
# for city_item in city_iter:
# print(city_item)
print(next(city_iter)) #北京
print(next(city_iter)) #上海
print(next(city_iter)) #广州
print(next(city_iter)) #深圳
print(next(city_iter)) # ERROR : StopIteration
city 为可迭代对象,这里用isinstance(city,Iterable) 测试结果返回***True***
city_iter 为得到的迭代器 isinstance(city,Iterable) 测试结果***报错*** 可知这时的city_iter 已经不是Iterable 对象。
next()方法用于返回迭代器中的数据,单次调用只返回一个数据,再次调用返回下一数据。当迭代器中的数据全部返回(数据位置已经指向最后一个)不能再调用next() 否则报错 stopIteration