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
  • 相关阅读:
    [转] 关于hibernate的缓存使用
    周鸿祎,我的互联网方法论
    cwRsync window下的跨服务器的文件同步
    一个代价11万的bug
    批处理备份
    NodeJs环境部署
    spring接收参数
    @Autowired
    谈谈把网站迁移到阿里云的一些感想和其中遇到的一些问题
    HTML5+JS 《五子飞》游戏实现(一)规则
  • 原文地址:https://www.cnblogs.com/frankyou/p/5733904.html
Copyright © 2011-2022 走看看