zoukankan      html  css  js  c++  java
  • Python之 迭代器 列表解析器

    回顾:

        1、动态语言

          sys.getrefcount()  对象被引用的次数。

          增加对象引用次数的场景:以赋值方式创建对象;对象作为某容器的元素时;被当做参数传递给函数时;为对象创建另外的变量名;

          减少引用计数:引用此对象的某变量名被显式销毁 del x ;给引用此对象的变量名重新赋值;从容器中移除对象,list.pop();容器本身被销毁;

    完备和非完备遍历

    Python迭代器

    又称游标,是程序设计的软件设计模式,是一种可在容器物件上实现元素遍历的接口。是一种特殊的数据结构,在Python中,也是以对象存在的。

    iterable 可迭代对象 :对象实现了__iter__方法;用户自定义的一些包含了__iter__()或者__getitem__方法的类;序列类型list、str、tuple。非序列类型 dict,file等      支持每次返回自己所包含的一个成员对象。

    调用__iter__方法 就在内存中创建了一个迭代器,通过next方法遍历其元素,直到遍历结束。不会再从头开始。

    iter()函数可以实现生产一个迭代器。

    迭代器是遵循迭代协议的对象,for循环开始时,会通过迭代协议传递给iter()内置函数,从而能够从可迭代对象中获得一个迭代器,返回的对象含有需要的next()方法。

    列表解析:是迭代机制的一种应用。用于基于已有的列表高效的实现新的列表。

    [expression for iter_var in iterable(可迭代对象)]

    l2 = [ i ** 2 for i in l1]

    [expression for iter_var in iterable if cond_expr]  通过if判断符合条件的元素

  • 相关阅读:
    pointnet++之classification/train.py
    pointnet++的pytorch实现
    xavier初始化的简单推导
    z+f数据解析
    ubuntu安装dia
    卷积,reLu,池化的意义
    Split
    .net程序调试一:快速定位异常
    Memcached (第一篇)
    System.Web.Caching.Cache类 缓存 各种缓存依赖
  • 原文地址:https://www.cnblogs.com/Beny-Bruce/p/5014703.html
Copyright © 2011-2022 走看看