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.除非取尽,否则无法获取迭代器长度

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

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

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

  • 相关阅读:
    百万级数据库优化方案
    MySQL架构及优化原理
    性能优化建议
    索引
    sql语句优化(持续更新)
    sql语句优化原理
    常用命令
    常见问题
    三、范围和生命周期
    【UVa】[11582]Colossal Fibonacci Numbers!
  • 原文地址:https://www.cnblogs.com/littleb/p/11854208.html
Copyright © 2011-2022 走看看