余利宝,燕志云照片,乡野村医
(我们可以通过dir()方法去判断一个对象具有什么方法,dir()会返回一个列表,这个列表中含有该对象的以字符串的形式的所有方法名)
lst.__iter__() dict.__iter__()
( iter() 和 __ ite r__() 是一样的 推荐使用iter() )
lst = [1,2,3,4,5] l = lst.__iter__() # 将可迭代对象转换成迭代器 l.__iter__() # 迭代器指定__iter__()还是原来的迭代器 print(l.__next__()) # 1 print(l.__next__()) # 2
当你的数据量过大,大到足以撑爆你的内存或者你以节省内存为首选因素时,将数据集设置为迭代器是一个不错的选择。(可参考为什么python把文件句柄设置成迭代器)。
l1 = [1, 2, 3, 4, 5, 6] obj = iter(l1) # 1 将可迭代对象转化成迭代器 while true: # 2,利用while循环,next进行取值 try: print(next(obj)) except stopiteration: # 3,利用异常处理终止循环 break
(6)python2和python3中的区别:
pyhton3: iter()和 __iter__() 都有 next()和__next__()都有 python2: iter() next()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论