zoukankan      html  css  js  c++  java
  • 生成器及列表推导式

    迭代器:内部含有__iter__,__next__方法的对象
    可迭代对象不能取值,因为内部没有__next__的方法
    迭代器的优点:
    1、节省内存
    2、惰性机制
    3、单向、不可逆
    如何判断可迭代对象、迭代器:
    1、__iter__ in dir(obj)
    2、引用一个模块:from collections import Iterator(迭代器)
    print(isinstance(参数名,Iterator)
    from collections import Iterable(可迭代对象)
    print(isinstance(参数名,Iterable))

    生成器本身就是迭代器
    def func():
    yield 22
    def func():
    print(111)
    yield 222
    g_obj = func()
    列表推导式和生成器表达式:
    列表推导式
    li = [i for i in range(1,n)] #[变量(加工后的变量) for 变量 in iterable]循环模式
    li = [变量(加工后的变量) for 变量 in iterable if 条件] 筛选模式
    生成器表达式
    将列表推导式的[]换成()
    为什么要有生成器:
    生成器本身是自己用python代码构建的,这样就满足了个性化需求方便之后使用。
    认真做一件事,并将之完全学会掌握为止!
  • 相关阅读:
    XtraBackUp 热备份工具
    (原始)数据库的备份与恢复
    liunx 中安装mysql 图形界面 phpmyadmin
    mysql 引擎
    使用正则进行HTML页面属性的替换
    mysql 表锁死的问题
    mysql 函数tree状
    tree 树状构建
    java项目部署jar包
    RSA2
  • 原文地址:https://www.cnblogs.com/wr13640959765/p/9203810.html
Copyright © 2011-2022 走看看