zoukankan      html  css  js  c++  java
  • Python基础之迭代器

    迭代器的优点:

    1、可以使用for循环遍历;

    2、可以节省内存空间;

    3、可以有序的访问集合(set)数据结构内的元素。

    迭代器的缺点:

    只能向前,不能后退。

    可迭代对象与不可迭代对象:

    可迭代对象:list、tuple、str、dict

    不可迭代对象:set

    判断是否为可迭代的对象?

    from collections import Iterable
    # from collections import Iterator
    s = {'name':'egon','age':18}
    print(isinstance(s,Iterable))       #判断是否为迭代的对象
    #输出结果:True

    判断是否为迭代器?

    from collections import Iterator
    s = {'name':'egon','age':18}
    print(isinstance(range(100),Iterator))       #判断是否为迭代器

    迭代器使用方法

    l = [1,2,3,4,5]
    l_iterator = iter(l)
    print(next(l_iterator))
    print(next(l_iterator))   
    print(next(l_iterator)) 
    print(next(l_iterator)) 
    print(next(l_iterator))
    #print(l_iterator.__next__())等同于print(next(l_iterator))
    #需要注意每次只能返回一个值,且不能后退。

    小结:

    1、可迭代协议:凡是可迭代的颞部都有一个__iter__方法;

    2、迭代器协议:内部实现了__iter__和 __next__方法;

    3、可迭代对象与迭代器的不同点:迭代器多了一个__next__方法;

    4、可迭代对象与迭代器的相同点:都可以使用for循环。

  • 相关阅读:
    小端大端
    位域
    c++ 2.1 编译器何时创建默认构造函数
    python 内置&&递归
    python返回值与局部全局变量
    python file
    python set
    python 字典的函数
    python FileError
    python pickle
  • 原文地址:https://www.cnblogs.com/bingpan/p/7275384.html
Copyright © 2011-2022 走看看