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) }

  • 相关阅读:
    实现Email传送
    用角色来管理权限
    最大在线人数统计
    解决DataGrid显示时间格式问题
    3秒后自动跳转
    ASP.NET页面的处理顺序
    乱码问题
    动态生成button并关联其onclick事件
    获取用户计算机信息
    鼠标滚轮缩放图片(js)
  • 原文地址:https://www.cnblogs.com/learn-to-rock/p/python1001.html
Copyright © 2011-2022 走看看