美文网首页
2018-11-29 (Review-3)

2018-11-29 (Review-3)

作者: DingUKE | 来源:发表于2018-11-29 20:20 被阅读0次

    1.迭代器

    迭代器是python中一种容器类的数据类型,属于序列。没有具体的字#面量,可以将其他的序列转换成迭代器: iter(序列)

    2.迭代器的特点: 只能通过next方法去一个一个区按照顺序获取迭代器的元素,取出后迭代器就不存在这个元素了.

    iter1 = iter(['aa', 123, {'a':1, 'c':2}])
    # 遍历迭代器
    for x in iter1:
        print(x)
    
    iter2 = iter((1,2,3))
    a = iter2.__next__()
    print(a)
    print(next(iter2))
    
    """
    

    四、生成式和生成器

    1.什么是生成器
    生成器就是迭代器,但是迭代器不一定是生成器

    生成式就是生成器的一种特殊形式:(变量 for 变量 in 序列)

    例:产生一个生成器,生成器中可以生成的数据是数字0~4(每个元素是数字)

    """

    get1 = (x*2 for x in range(5))
    # print(next(get1))
    # print(next(get1))
    # print(next(get1))
    for item in get1:
        print(item)
    
    def fun1(n):
        print('生成器:')
        for x in range(n+1):
            yield x
    
    # 练习: 生成器生成的数据的规律:奇数就返回他本身,偶数就返回它的2倍
    
    def func1():
        for x in range(15):
            if x & 1:
                yield x
            else:
                yield x*2
    g1 = func1()
    for x in g1:
        print(x)
    

    迭代器

    iter1 = iter([1,2,3])
    print(next(iter1))
    

    生成式

    get1 = (x*2 for x in range(0,10))
    for item in get1:
        print(item)
    

    生成器

    def func2(n):
        for x in range(n+1):
            yield x*2
    g1 = func2(10)
    print(next(g1))
    print(next(g1))
    print(next(g1))

    相关文章

      网友评论

          本文标题:2018-11-29 (Review-3)

          本文链接:https://www.haomeiwen.com/subject/uzhqcqtx.html