iter() 函数用来生成迭代器。
iter(object[, sentinel])
object -- 支持迭代的集合对象。
sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。
迭代器对象。
list = ['one', 'two', 'three', 'four'] for i in iter(list): print(i,end=' ') # one two three four class TestIter(object): def __init__(self): self.l = [1, 2, 3, 4, 5] self.i = iter(self.l) def __call__(self): # 定义了__call__方法的类的实例是可调用的 item = next(self.i) return item def __iter__(self): # 支持迭代协议(即定义有__iter__()函数) print("__iter__ is called!!") return iter(self.l) t = TestIter() # t是可调用的 t1 = iter(t, 4) # t必须是callable的,否则无法返回callable_iterator for i in t1: print(i,end=' ') # 1 2 3
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理