当前位置: 首页 > news >正文

Python 列表常用函数介绍

1. append()

  • 作用:在列表末尾添加一个元素。
  • 参数:任意类型的单个元素。
  • 特点:直接修改原列表,无返回值。
  • 示例
    lst = [1, 2, 3]
    lst.append(4)
    print(lst) # 输出: [1, 2, 3, 4]# 添加列表作为单个元素
    lst.append([5, 6])
    print(lst) # 输出: [1, 2, 3, 4, [5, 6]]

2. extend()

  • 作用:将可迭代对象中的元素逐个添加到列表末尾。
  • 参数:可迭代对象(如列表、元组、字符串)。
  • 特点:直接修改原列表,无返回值。
  • 示例
    lst = [1, 2]
    lst.extend([3, 4])
    print(lst) # 输出: [1, 2, 3, 4]# 扩展字符串(逐字符添加)
    lst.extend("abc")
    print(lst) # 输出: [1, 2, 3, 4, 'a', 'b', 'c']

3. insert()

  • 作用:在指定索引位置插入元素,原元素后移。
  • 参数(index, element),索引超出范围时插入末尾。
  • 特点:直接修改原列表。
  • 示例
    lst = ['a', 'b', 'c']
    lst.insert(1, 'x')
    print(lst) # 输出: ['a', 'x', 'b', 'c']# 索引超出范围时插入末尾
    lst.insert(10, 'y')
    print(lst) # 输出: ['a', 'x', 'b', 'c', 'y']# 使用负数索引
    lst.insert(-1, 'z') # 插入到倒数第一个位置前
    print(lst) # 输出: ['a', 'x', 'b', 'c', 'z', 'y']

4. remove()

  • 作用:删除列表中第一个匹配的元素。
  • 参数:要删除的元素值,若不存在则引发 ValueError
  • 示例
    lst = [10, 20, 30, 20]
    lst.remove(20)
    print(lst) # 输出: [10, 30, 20]# 删除不存在的元素会报错
    # lst.remove(99) # ValueError: list.remove(x): x not in list

5. pop()

  • 作用:删除并返回指定索引的元素(默认最后一个元素)。
  • 参数:可选索引(默认 -1),索引越界引发 IndexError
  • 示例
    lst = [10, 20, 30]
    popped = lst.pop() # 默认删除最后一个
    print(popped) # 输出: 30
    print(lst) # 输出: [10, 20]popped = lst.pop(0) # 删除索引0的元素
    print(popped) # 输出: 10
    print(lst) # 输出: [20]

6. sort()

  • 作用:原地对列表排序(默认升序),无返回值。
  • 参数
    • key:排序依据的函数(如 key=len 按长度排序)。
    • reverse:是否降序(True 为降序)。
  • 示例
    lst = [3, 1, 4, 2]
    lst.sort()
    print(lst) # 输出: [1, 2, 3, 4]# 降序排序
    lst.sort(reverse=True)
    print(lst) # 输出: [4, 3, 2, 1]# 按字符串长度排序
    words = ['apple', 'date', 'banana']
    words.sort(key=len)
    print(words) # 输出: ['date', 'apple', 'banana']

7. reverse()

  • 作用:原地反转列表元素顺序,无返回值。
  • 示例
    lst = [1, 2, 3]
    lst.reverse()
    print(lst) # 输出: [3, 2, 1]# 与切片反转对比(生成新列表)
    new_lst = lst[::-1]
    print(new_lst) # 输出: [1, 2, 3]
    print(lst) # 输出: [3, 2, 1](原列表未变)

对比总结

方法

作用

是否修改原列表

返回值

append(x)

添加单个元素到末尾

None

extend(it)

扩展可迭代对象的元素到末尾

None

insert(i,x)

在索引 i 处插入 x

None

remove(x)

删除第一个值为 x 的元素

None

pop([i])

删除并返回索引 i 的元素

被删元素

sort()

原地排序

None

reverse()

原地反转元素顺序

None

关键注意事项

  1. append vs extend
    • append 添加整个对象(可能形成嵌套列表),extend 展开可迭代对象。
  2. 原地操作
    • 上述方法均直接修改原列表(除 sorted() 函数外)。
  3. 错误处理
    • remove()pop() 可能引发 ValueErrorIndexError,需提前检查元素或索引是否存在。

相关文章:

  • 智能呼叫系统的功能
  • 零基础入门:MinerU 和 PyTorch、CUDA的关系
  • 多模态大语言模型arxiv论文略读(八十九)
  • 【paddle】常见的数学运算
  • 技术篇-2.5.Matlab应用场景及开发工具安装
  • OpenCV CUDA 模块图像过滤-----创建一个计算图像导数的滤波器函数createDerivFilter()
  • 欧拉降幂(JAVA)蓝桥杯乘积幂次
  • 【机器学习】 关于外插修正随机梯度方法的数值实验
  • C++ 02.好用的命令行解析库cmdline和CLI11
  • 【LLIE专题】基于事件相机照度估计的暗光增强方案
  • poppler_path 是用于 Python 库如 pdf2image 进行 PDF 转换时
  • 天文数据处理:基于CUDA的射电望远镜图像实时去噪算法(开源FAST望远镜数据处理代码解析)
  • 大规模实验管理系统的GPU资源调度设计(基于优先级队列的动态算力分配算法)
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何获取目标App的程序图标?
  • Linux 之 MTD 子系统框架
  • 手机打电话时由对方DTMF响应切换多级IVR语音菜单(话术脚本与实战)
  • 第十节第六部分:常见API:DateTimeFormatter、Period、Duration
  • 智能办公协同系统开发日志(三):画板模块设计与实现全记录
  • Minion-Agent:软件测试领域的智能自动化实践
  • JUC入门(五)
  • 简单企业网站/保定网站制作
  • 网站建设费 无形资产/软文推广页面
  • 盐城网站推广电话/成都关键词优化服务
  • 营销型网站模版/百度搜索关键词排名优化推广
  • 怎样做网站店铺/怎么优化网络
  • 提出网站推广途径和推广要点/青岛关键词网站排名