zoukankan      html  css  js  c++  java
  • List -- 变更列表

    1,一些常见的内建函数

           L.append # 加一个

           L.extend # 加一串

           L.insert(index, item) #固定位置插入

           L.[index : index] = sequence #插入一串

           L.pop

           L.remove

           L.reverse

    2,关于 for…in

           for…in 有一个内部的索引,因此假如在使用 for…in 过程中变更列表,会出错。

           解决的方法之一是使用一个备份列表。

    3,内建函数 map

           假如列表每个单元都需要用同一个函数处理,然后用函数返回值合成新的列表,可以用以下方法实现:

           for index, object in enumerate(L ) :

                  L[index] = function (object)

          或者:

           out = []

           for object in L :

                 out.append(function(object))

           或者使用列表合成:

           out = [function(object) for object in L]

           不过最快捷有效的方法是使用内建函数 map :

           out = map(function, L)

           但是,假如需要同时使用索引和数据单元,那么就不能再用 map 了:

           out = [function(index, object) for index, object in enumerate(L) ]

    4,LRU (least-recently-used) 容器

           每次访问一个列表的某一项时,反复使用以下方法,可以使最不常用的项往前移:

           lru.remove(item)

           lru.append(item)

           假如列表很小,可以基于上述思想实现一个cache应用。

           image

           http://effbot.org/zone/caching.htm

  • 相关阅读:
    生成函数
    泰勒公式与牛顿迭代
    如何在浏览器关闭发送请求
    elment-ui table组件 -- 远程筛选排序
    微信小程序 -- 数据请求
    2019年 学习计划
    vue 表单校验(二)
    ubuntu 学习
    vue-cli如何添加多种环境变量
    vue兼容ie
  • 原文地址:https://www.cnblogs.com/freshair_cnblog/p/7218688.html
Copyright © 2011-2022 走看看