zoukankan      html  css  js  c++  java
  • Python生成器、迭代器、可迭代对象

    把一个列表[]改成()就创建了一个生成器:generator,generator保存的是算法。

    可以用于for循环的数据类型:
    1、集合类型:list tuple dict set str
    2、generator

    可以直接作用于for循环的对象统称为:可迭代对象(Iterable)

    from collections import Iterable
    print(isinstance([],Iterable))
    print(isinstance({},Iterable))
    print(isinstance((x for x in range(10)),Iterable))
    print(isinstance(100, Iterable))

    结果:

    True
    True
    True
    False

    可以被next调用并不断返回下一个值的对象称为:迭代器(Iterator)

    from collections import Iterator
    print(isinstance([],Iterator))
    print(isinstance({},Iterator))
    print(isinstance((x for x in range(10)),Iterator))
    print(isinstance(100, Iterator))

    结果:

    from collections import Iterator
    print(isinstance([],Iterator))
    print(isinstance({},Iterator))
    print(isinstance((x for x in range(10)),Iterator))
    print(isinstance(100, Iterator))

     listdictstrIterable变成Iterator可以使用iter()函数:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    from collections import Iterator
    print(isinstance(iter([]),Iterator))
    print(isinstance(iter({}),Iterator))
    print(isinstance((x for x in range(10)),Iterator))
    print(isinstance(iter('abc'), Iterator))

    显示结果:

    True
    True
    True
    True
  • 相关阅读:
    angular11源码探索七[服务二]
    angular11源码探索六[服务基础一]
    有趣的特效,嘤嘤嘤
    angular11学习(十八)
    matplotlib 去掉小方框
    xlrd.biffh.XLRDError 问题报错
    页面点击出现蓝色背景色
    移动端不显示滚动条
    Swiper垂直方向滑动,高度获取不正确的解决方法
    二维树状数组
  • 原文地址:https://www.cnblogs.com/frankyou/p/5733904.html
Copyright © 2011-2022 走看看