zoukankan      html  css  js  c++  java
  • python学习笔记整理——列表

    Python 文档学习笔记

    数据结构——列表

    列表的方法

    添加

    1. list.append(x) 添加元素
      • 添加一个元素到列表的末尾;相当于a[len(a):] = [x]
    2. list.extend(L) 并入一个列表
      • 将指定列表中的所有元素附加到另一个列表的末尾;相当于a[len(a):] = L
    3. list.insert(i,x) 指定位置i插入一个元素x
      • 在给定位置插入一个元素。第一个参数是插入的元素的索引,所以 a.insert(0, x) 在列表的最前面插入,a.insert(len(a), x) 相当于 a.append(x)。

    移出

    1. list.pop([i]) 弹出//类比栈的操作
      • 删除列表中指定位置的元素并返回它。如果未指定索引,a.pop()将删除并返回列表中的最后一个元素。
    2. list.remove(x) 删除x
      • 删除列表中第一个值为 x 的元素。如果没有这样的元素将会报错

    查找

    1. list.index(x) 返回x的地址
      * 返回列表中第一个值为 x 的元素的索引。如果没有这样的元素将会报错。

    2. list.count(x) 查x个数
      * 返回列表中 x 出现的次数。

    排序

    1. list.sort(cmp=None, key=None, reverse=False)
      * 原地排序列表中的元素(参数可以用来自定义排序方法,参考sorted()的更详细的解释)。

    2. list.reverse()
      * 原地反转列表中的元素。
      * 注:原地排序就是指不申请多余的空间来进行的排序

    计算

    • sum(l) 求和,如果可以元素之间可以求和的话

    列表的使用举例

    1. 用列表作为栈

            >>> stack = [3, 4, 5]
            >>> stack.append(6)
            >>> stack.append(7)
            >>> stack
            [3, 4, 5, 6, 7]
            >>> stack.pop()
            7
            >>> stack
            [3, 4, 5, 6]
            >>> stack.pop()
            6
            >>> stack.pop()
            5
            >>> stack
            [3, 4]
    

    2.函数式编程工具举例:filter()、map()和reduce()

    1. filter() 过滤

      • filter(function, sequence)返回的序列由function(item)结果为真的元素组成

        >>> def f(x): return x % 2 != 0 and x % 3 != 0
        >>> filter(f, range(2, 25))
        [5, 7, 11, 13, 17, 19, 23]
        >>> filter(lambda x : x % 2 != 0 and x % 3 != 0, range(2, 25))
        [5, 7, 11, 13, 17, 19, 23]
        
    2. map(function, sequence) 生成

      • 为序列中的每一个元素调用 function(item) 函数并返回结果的列表

        >>> def cube(x): return x*x*x
        >>> map(cube, range(1, 11))
        [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
        
    3. reduce(function, sequence) 迭代遍历运算

      • 只返回一个值,它首先以序列的前两个元素调用函数 function

        >>> def add(x,y): return x+y
        ...
        >>> reduce(add, range(1, 11))
        55
        

    3.列表解析

    • 从一个序列的每个元素的操作结果生成新的列表
      squares = [x**2 for x in range(10)]

    • 这也相当于
      squares = map(lambda x: x**2, range(10)),但是更简洁和易读。

    • 在 python 3.0 中,解析语法也可以用来创建集合和字典:
      { sum(row) for row in matrix }
      { i:sum(M[i]) for i in range(3) }

  • 相关阅读:
    linux常用命令
    mysql 开发基础系列20 事务控制和锁定语句(上)
    sql server 性能调优之 资源等待 CXPACKET
    mysql 开发基础系列19 触发器
    mysql 开发基础系列18 存储过程和函数(下)
    mysql 开发基础系列17 存储过程和函数(上)
    sql server 性能调优之 资源等待PAGEIOLATCH
    mysql 开发基础系列16 视图
    mysql 开发基础系列15 索引的设计和使用
    sql server 性能调优之 当前用户请求分析 (1)
  • 原文地址:https://www.cnblogs.com/learn-to-rock/p/python1001.html
Copyright © 2011-2022 走看看