zoukankan      html  css  js  c++  java
  • python列表的方法详解

    列表

    引题

    原来学过数据类型如 a=1 b=‘hello’ ,但是这些都变量。现实生活中我们想表达 一个班的几十个学生,一个袋子里多个水果。python当中提供了一个表达“一组”概念的数据结构,列表。

    语法

    列表形如 [1,2,3,4] ['小明', '小红', '小王']
    中括号括起来,里面有多个元素(项),项可以数字、字符串、布尔,每一项逗号分隔。

    创建

    1. 声明变量时 中括号、项 ,创建一个非空的列表。
      num_list = [1, 2, 3, 4]
    2. 创建一个空列表,之后再修改
      num_list = []
    3. 类实例化创建(不常用)
      list1 = list()

    添加

    1. append() 追加
      列表对象.append(新项) ,追加一个元素到列表末尾。
      list1 = [1,2,3]
      list1.append(4) → [1,2,3,4]
    2. (不常用)insert()
      列表对象.insert(索引,新项) ,插入到指定下标处。
      list1 = [1,2,3]
      list1.insert(0, 4) → [4,1,2,3]
    3. (不常用)列表合并
      两个变量都是列表时,可以合并
      list1 = [1]
      list2 = [2, 3]
      list1 + list2 → [1,2,3]
    4. 批量添加
      通过循环获取新项并依次调用append()
      list1 = ['小明', '小红']
      for i in ['小李', '小王', '小肖']:
      list1.append(i)
      list1 → ['小明', '小红', '小李', '小王', '小肖']

    删除

    1. pop()
      列表对象.pop(索引) ,删除指定索引的那一项,删除成功后返回删除的内容。
      list1 = [1,2,3]
      list1.pop(0) → 1
    2. remove()
      列表对象.remove(项内容),根据项的内容删除。
      list1 = ['小明', '小红', '小青']
      list1.remove('小红')
      list1 → ['小明', '小青']
    3. (不常用)clear()
      列表对象.clear() ,清空所有项。
      list1 = ['小明', '小红', '小青']
      list1.clear()
      list1 → []
    4. (不常用)关键字 del
      list1 = ['小明', '小红', '小青']
      del list1[0]
      list1 → ['小红', '小青']

    修改

    1. 根据下标修改
      列表对象[索引] = 新值
      list1 = ['小明', '小红', '小青']
      list1[1] = '小王'
      list1 → ['小明', '小王', '小青']

    访问

    1. 通过下标(索引 index)访问。
      列表中的项以 0,1,2…编号。比如[1,2,3]中的元素1的下标是0。
      list1 = [1,2,3]
      list1[0] → 1
      list1[-1] → 3 下标负数表示倒数第几项
    2. 遍历,访问列表中每一项
      for i in ['小明', '小红', '小青']:
      print(i)
    3. 遍历,循环下标。 场景 修改。
      len(列表对象) 返回的是列表的项数。
      list1 = ['小明', '小红', '小青']
      for i in range(0, len(list1)):
      print(list1[i])

    切片 slice

    列表对象[起始下标 : 结束下标+1 : 步进] 左闭右开区间

    list1 = ['小明', '小红', '小青', '小王', '小杨']
    list1[0: 2] → ['小明', '小红']
    list1[: 2] → ['小明', '小红'] 简写,从头开始截取,下标0的话可以省略
    list1[2:] → ['小青', '小王', '小杨'] 简写,截取到末尾,末尾下标省略
    list1[1:3] → ['小红', '小青']
    list1[-3: -1] → ['小青', '小王'] 下标可以为负
    list1[4: 0] → [] 注意截取的方向,第一个下标小于第二个下标,否则返回空
    list1[::-1] → ['小杨', '小王', '小青', '小红', '小明']

    查找

    num_list = [1,2,3,4]
    num_list.index(1) → 0
    num_list.index(5) → 报错ValueError

    in 判断, if 条件

    num_list = [1,2,3,4]
    1 in num_list → True
    场景 与if 连用。
    if 1 in [1,2,3,4]:
    if []: 空列表 if判断为False。

    排序

    todo

    可能出现的错误

    num = [1,2,3,4]
    num[4]
    报错下标越界。IndexError: list index out of range
    错误一般发生在收集数据代码逻辑错误,列表本身就位空。

    写代码技巧

    写几句代码就测试运行一下,多print(变量) type(变量),把大问题分解成小问题(先写input或先写某一个if分支),先把程序的大概结构写出来,再去写细节。

    第一遍代码以模仿为主,刚开始谁都不知道怎样去写,会有歧义和可能。所以我们第一次只要根据答案抄一遍,想清楚思路。
    第二遍比葫芦画瓢,举一反一,自己完整解决问题,初步具备编程思想和熟练度。
    第三遍以后,项目越来越复杂,重复运用之前的知识点,知识点越来越熟练。

  • 相关阅读:
    谷歌机器学习
    Pycharm使用conda安装的环境
    HAN模型理解2
    HAN模型理解1
    RCNN
    深度CNN
    多通道CNN
    TextCNN
    词向量2
    词向量1.md
  • 原文地址:https://www.cnblogs.com/nicholas7464/p/10257498.html
Copyright © 2011-2022 走看看