zoukankan      html  css  js  c++  java
  • 迭代器

    迭代器是用来迭代取值的工具。迭代指的是重复迭代,每一次迭代哦都是基于上次结果来的,单纯的重复不是迭代。

    可迭代对象:凡是内部有__iter__()方法的都是可迭代对象,所有的序列类型:list,str,tuple,dict,set,文件f都是可迭代对象。

    如何获取迭代器对象: 通过可迭代对象.__iter__()得到的返回值就是迭代器对象

    例:

    str1 = 'hello'

    iter_str1 = str1.__iter__()

    print(iter_str1)  # 得到迭代器对象

    print(iter_str1.__next__())  #  通过.__next__()进行迭代取值  ===》 h

    print(iter_str1.__next__())   # 每执行一次从迭代器对象中取一个值 ===》e

    如果迭代器对象中的值被取完,程序会报错,则需要进行捕获异常

    例:

    list1 = [1,2,3,4,5]

    iter_list1 = list.__iter__()

    while True:

      try:

        print(iter_list1.__next__())

      except StopIteration

    # 通过 try 和 except 捕获异常

    迭代器对象的优缺点

    优点:1.不依赖于索引 迭代取值; 2.节省内存空间

    缺点:1.每次取值都只能取当前第一个值,取指定值麻烦;2.除非取尽,否则无法获取迭代器长度

    迭代器对象也是一个可迭代对象

    可迭代对象不一定是迭代器对象

    文件既是可迭代对象,也是迭代器对象

  • 相关阅读:
    C#’s ~ vs Java’s finalize
    做Java开发这一年
    assertThat, assertEquals, assertTrue
    给Cuke4Duke添加一个AfterAll标签(一):使用Cuke4Duke
    心理问题的根源
    何谓数学
    人生谁看透
    人本主义与自由意志
    哲学的基本问题
    贫穷与教育
  • 原文地址:https://www.cnblogs.com/littleb/p/11854208.html
Copyright © 2011-2022 走看看