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
  • 相关阅读:
    Eclipse
    文件递归查找
    BeanFactory 和 AppliactionContext的区别?
    文件上传
    Servlet路径的使用
    FileInputStream和FileOutputStream文件复制
    CentOS 7安装Nginx
    C语言程序设计100例之(6):数字反转
    C语言程序设计100例之(5):分解质因数
    C语言程序设计100例之(4):水仙花数
  • 原文地址:https://www.cnblogs.com/frankyou/p/5733904.html
Copyright © 2011-2022 走看看