栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python-迭代器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python-迭代器

补充在遍历字典中 每次便利的item是字典的键名

links = {'a':'1',
         'b':'2',
         'c':'3'}

for each in links:         #each式是键
    print('%s->%s'%(each, links[each]))

迭代器:

python有两个内置函数iter() 和 next();iter()是将可迭代容器(比如字符串、列表等)变成迭代器;next()是将迭代器 向后迭代一步 起始位置是0, 迭代到最后抛出stop异常

string = 'liujialin'
it = iter(string) 
print(next(it), next(it), next(it), next(it))

通过whill 循环和 异常处理 捕获stopiteration异常

its = iter(string)
while Ture:
    try:
        print(next(its))
    except StopIteration as e:
        print(e.value)
        break
     

自定义迭代器类-实现斐波那契数列:

raise升起stop异常, 切记一定要定义iter方法 并返回自身对象。

class My_iter:
    def __init__(self, n=10)
        self.a = 0
        self.b = 1
        self.n = n
    
    def __iter__(self):
        return self

    def __next__(self):
        self.a, self.b = self.b , self.a + self.b
        if self.a > self.n:
            raise StopIteration('超出异常')
        return self.a

for 循环 会识别stop 异常 并且终止循环

iters = My_iter(10)

for i in iters:
    print(i)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号