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

    迭代器

    迭代器是一种函数,只是一种称呼而已

    1.可迭代对象

    含有.__iter__方法的对象就叫做可迭代对象

    x = 10  # 不是可迭代对象
    
    s = 'abc'
    s.__iter__()
    
    lt = [1, 2, 3]
    lt.__iter__()
    
    tup = (1,)
    tup.__iter__()
    
    dic = {'a': 1}
    dic.__iter__()
    
    se = {1}
    se.__iter__()
    
    fw = open('test.txt', 'a+', encoding='utf8')
    fw.seek(0, 0)
    fw.__iter__()
    

    可见,除了数字类型和布尔类型,其余数据类型都是可迭代对象。

    2.迭代器对象

    含有.__iter__和.__next__方法的对象就是迭代器对象

    为什么要有迭代器对象:提供了一种 不依赖索引取值的手段

    dic = {'a': 1, 'b': 2, 'c': 3}
    
    
    print(dic_iter.__next__()) # 迭代取值 --》 基于上一个值
    print(dic_iter.__next__())
    print(dic_iter.__next__())
    print(dic_iter.__next__())
    

    注意:迭代器一定是可迭代对象;可迭代对象不一定是迭代器

  • 相关阅读:
    DEBUG 知识
    转载:telnet启动后的登录问题
    通过ip找主机名
    转载:网线的相关知识
    hdu2717(广度优先搜索)
    hdu1241(bfs)
    hdu1060 数论
    大数除(hdu2117)
    hdu1159(DP)
    hdu2181__DFS
  • 原文地址:https://www.cnblogs.com/bowendown/p/11574947.html
Copyright © 2011-2022 走看看