Skip to content

Python 列表的常用方法

标签:Python
创建时间:2022/10/01 16:17:47

列表的加法和乘法

  1. 加法

    1. 列表的加法相当于合并列表,把两个或多个列表中的所有元素放到一个新的列表中。

    2. 代码:

      python
      arr0 = [1,2,3]
      arr1 = [4,5,6]
      arr2 = arr0 + arr1
      print(arr2)
    3. 运行结果:

  2. 乘法

    1. 这里的乘法指的是列表数据与整形数据的乘法,运算结果也是一个列表。

    2. 代码:

      python
      arr0 = [1,2,3]
      print(arr0 * 2)
    3. 运行结果:

末尾添加元素

  1. 方法:append()

  2. 方法描述

    1. 在列表的末尾添加一条数据。
  3. 语法

    1. list.addend(item)

    2. 参数:item - 新元素

    3. 代码:

      python
      arr = [0,1,2]
      arr.append(3)
      print(arr)
    4. 运行结果:

指定位置添加元素

  1. 方法:insert()

  2. 方法描述

    1. insert() 方法用于给列表的指定位置添加元素。
    2. 若指定位置后面还有其他元素,在新元素添加进来后,指定位置后面的元素依次向后排序。
    3. 若指定位置下标值大于等于列表长度,insert() 方法与 append() 方法相同,也是在列表的末尾添加一条数据。
  3. 语法:

    1. list.insert(index,item)

    2. 参数:

      1. index: 新元素的位置。
      2. item:添加的新元素。
    3. 代码:

      python
      arr = [0,1,2]
      arr.insert(3,3)
      print(arr)
    4. 运行结果:

统计元素出现的次数

  1. 方法:count()

  2. 方法描述

    1. 通过 count() 可以返回某个元素在列表中出现的次数。
    2. 若查询的元素不在列表中,则方法返回 0。
  3. 语法

    1. list.count(item)

    2. 参数:item - 查找的元素

    3. 代码:

      python
      arr = [0,1,1,0,2,3,0,1,2]
      print(arr.count(0))
      print(arr.count(4))
    4. 运行结果:

删除元素

  1. 方法:remove()

  2. 方法描述:

    1. 删除列表中的某个元素。
    2. 若删除的元素不在列表中,直接报错。
    3. 若删除的元素在列表中出现多次,那么 remove() 方法只删除第一次出现的元素。
  3. 语法:

    1. list.remove(item)

    2. 参数:item - 要删除的元素

    3. 代码:

      python
      arr = [1,2,3,4,3,2,1]
      arr.remove(1)
      print(arr)
    4. 运行结果:

反转

  1. 方法:reverse()

  2. 方法描述:

    1. 对当前列表的数据进行反转。
  3. 语法:

    1. list.reverse()

    2. 参数:无

    3. 代码:

      python
      arr = [0,1,2,3,4,5]
      arr.reverse()
      print(arr)
    4. 运行结果:

规律排序

  1. 方法:sort()

  2. 方法描述

    1. 对当前列表按照一定规律进行排序。
    2. sort() 只支持数字列表(数组)和字符列表,其他数据类型的列表会报错。
    3. 使用 sort() 时,要保证列表中的数据类型一致。
  3. 语法

    1. list.sort(key=None,reverse=True)

    2. 参数:

      1. key: 参数比较
      2. reverse: 排序方式,True-降序,False-升序(默认)
    3. 代码

      python
      arr = [3,2,4,5,1,0,1]
      arr.sort()
      print(arr)
    4. 运行结果

清空

  1. 方法:clear()

  2. 方法描述

    1. 清空列表中所有数据。
  3. 语法

    1. list.clear()

    2. 参数:无

    3. 代码:

      python
      arr = [3,2,4,5,1,0,1]
      arr.clear()
      print(arr)
    4. 运行结果:

拷贝

  1. 方法:copy()

  2. 方法描述

    1. 将当前列表复制一份,得到一个新的列表,两个列表内容相同但内存地址不同。
  3. 语法

    1. list.copy()

    2. 参数:无

    3. 代码:

      python
      arr = [0,1,2,3,4,5]
      new_arr = arr.copy()
      arr.insert(0,-1)
      print(arr)
      print(new_arr)
    4. 运行结果:

  4. 深拷贝与浅拷贝

    1. 浅拷贝:只能对数据结构的第一层数据进行拷贝,更深层的数据无法拷贝。

    2. 上面的 copy() 方法就属于浅拷贝,原因请看下面代码

      python
      arr0 = [[0,1,2],[3,4,5]]
      arr1 = arr0.copy()
      arr0[0].insert(0,-1)
      print(arr0)
      print(arr1)

  5. 不难看出,虽然 arr1 是通过拷贝 arr0 得到的,但当 arr0 的数据发生变化时,arr1 也随着发生了变化,所以,copy() 方法是浅拷贝。

  6. 深拷贝:不止对数据结构的第一层数据进行拷贝,会进行更深层的拷贝,这样无论被拷贝的列表如何变化,拷贝后得到的列表是不会变的。

    python
    import copy
    
    arr0 = [[0,1,2],[3,4,5]]
    arr1 = copy.deepcopy(arr0)
    arr0[0].insert(0,-1)
    print(arr0)
    print(arr1)

  7. 可以看出,即便是修改了 arr0 里的数据,在输出 arr1 的时候是没有随之变化的。

倒入

  1. 方法:extend()

  2. 方法描述:

    1. 将其他列表或元组中的元素倒入到当前列表中。
  3. 语法:

    1. list.extend(iterable)

    2. 参数:iterable - 列表或元组

    3. 代码:

      python
      arr0 = [0,1,2]
      arr1 = (3,4,5)
      arr0.extend(arr1)
      print(arr0)
    4. 运行结果:

通过索引删除元素

  1. 方法:pop()

  2. 方法描述:

    1. 根据索引删除指定元素。
    2. 被删掉的元素会被 pop() 方法返回。
    3. 若传入的索引不存在,则会报错。
  3. 语法:

    1. list.pop(index)

    2. 参数:index - 索引

    3. 代码:

      python
      arr = [0,1,2,3,4,5,6,7,8,9]
      item = arr.pop(4)
      print(item)
      print(arr)
    4. 运行结果:

del 删除元素

  1. 语法: del list[index]

  2. 实践:

    1. 代码:

      python
      arr = [0,1,2,3,4,5,6,7,8,9]
      del arr[9]
      print(arr)
    2. 运行结果:

基于 MIT 许可发布