Python列表的常用方法

本文详细介绍了Python列表的基本操作,包括加法合并、乘法复制、末尾添加元素、指定位置插入、统计元素出现次数、删除元素、列表反转、排序、清空列表、浅拷贝与深拷贝、元素倒入和通过索引删除。这些操作对于理解和使用Python列表至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、列表的加法和乘法

  1. 加法

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

    2. 代码:

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

  2. 乘法

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

    2. 代码:

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

二、末尾添加元素

  1. 方法:append()

  2. 方法描述

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

    1. list.addend(item)

    2. 参数:item - 新元素

    3. 代码:

      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. 代码:

      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. 代码:

      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. 代码:

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

六、反转

  1. 方法:reverse()

  2. 方法描述:

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

    1. list.reverse()

    2. 参数:无

    3. 代码:

      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. 代码

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

八、清空

  1. 方法:clear()

  2. 方法描述

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

    1. list.clear()

    2. 参数:无

    3. 代码:

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

九、拷贝

  1. 方法:copy()

  2. 方法描述

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

    1. list.copy()

    2. 参数:无

    3. 代码:

      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() 方法就属于浅拷贝,原因请看下面代码

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

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

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

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

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

十、倒入

  1. 方法:extend()

  2. 方法描述:

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

    1. list.extend(iterable)

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

    3. 代码:

      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. 代码:

      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. 代码:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iGma_e

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值