Python列表(List)增删改查与排序详解

蓝鲸
蓝鲸
发布时间:2026-10-16| 4人浏览过
原创

本文深入解析Python中List列表的核心操作。涵盖三种删除元素的方法(del、remove、pop)及其注意事项;详细介绍添加与扩充元素的技巧,包括insert、append及extend函数;讲解定位查找index函数的用法;最后演示reverse逆序与sort排序(含自定义lambda逻辑)的实现,帮助开发者全面掌握列表数据处理能力。

List相比Tuple具备更丰富的操作支持

此前我们提到,Tuple(元组)如同固定焊接的车厢,不可更改;而List支持对元素的编辑,因此灵活性显著更高。

首先观察删除操作,Python中的List提供了三种删除元素的方式。

假设我们定义了一个列表对象 list_obj,可以执行以下任意一种操作来删除元素。


del list_obj[下标]
list_obj.remove(某个元素值)
list_obj.pop(下标) #返回元素值

接下来查看完整的代码示例:


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/31 10:36 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : list_demo4.py
# @Project : hello
# 删除列表元素
mylist = [1, 0, 2, 4, "雷学委"]
print("mylist:", mylist)
del mylist[0]
print("after remove first element, mylist:", mylist)
mylist.remove("雷学委")
print("after remove first element, mylist:", mylist)
removed_value = mylist.pop(1)  # 移除并返回的元素值
print("after remove first element, mylist:", mylist)
print("removed value:", removed_value)

运行效果如下所示:

需要特别注意:删除元素时指定的下标不能超出List的范围,否则将引发报错。

除了删除操作,如何向List中添加或扩充元素呢?

暂且不谈修改,List还支持定位查找元素,我们先来了解这一点。


list_obj.index(某个元素值) #通过某个元素值定位到第一个匹配的下标,从0位置开始找。

假设list_obj = [3, 2, 1] ,那么list_obj.index(2) 的结果是什么?

答案是:1。

好,我们继续讨论插入新元素的方法。


# python中的list支持下面两种方式追加元素
list_obj.insert(指定下标, 元素)
list_obj.append(元素) #末尾追元素

那么,如何一次性追加多个元素,或者直接扩充某个列表到现有列表中呢?

我们可以使用extend函数,通过 list_obj.extend(补充列表) 将 list_obj 直接扩充,其效果是将补充列表的元素依次追加到末尾。

介绍完这些操作,直接复制并运行下面的代码进行验证:


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/31 10:36 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : list_demo5.py
# @Project : hello
# 列表的其他函数
mylist = [6, 6, 6]
print("mylist:", mylist)
mylist.append("雷学委")
print("mylist:", mylist)
print("列表多少个6?:", mylist.count(6))
print("第一个6的位置下标?:", mylist.index(6))
mylist.insert(2, 1024)
print("第一个1024的位置下标?:", mylist.index(1024))
last = mylist.pop() #删除操作前面说过了,这几举例一个。
print("最后的元素是:",last)
print("mylist:", mylist)
# 直接追加新列表
mylist.extend(mylist)  # 相当于mylist = mylist * 2
print("mylist:", mylist)
mylist.extend(['持续学习', '持续开发'])
print("mylist:", mylist)

这是代码的运行效果:

操作非常简便,我们继续查看列表元素的排序功能。

List的排序机制

前述内容均为编辑操作,List还可以进行数据排列,即按照特定逻辑进行顺序排序。

List提供了sort函数和reverse函数。

先说简单的,reverse函数相当于将整个车厢调头,即list:[1,2,3] 经过reverse函数处理后,变为[3,2,1]。

sort则更加灵活,默认按照元素面值(如数字、字符串)排序,还支持传入一个lambda函数以指定自定义排序逻辑。

以上函数默认会对由数字组成的数组按数值大小进行排序。


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/31 10:36 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : list_demo6.py
# @Project : hello
# 列表的其他函数
mylist = [2, 3, 1]
#mylist = ["2", "3", "1"]
mylist.sort()
print("mylist:", mylist)
mylist.extend(['持续学习', '持续开发'])
print("mylist:", mylist)
mylist.sort(key=lambda e: len(str(e)), reverse=True)
print("sorted mylist:", mylist)
mylist.reverse()
print("reversed mylist:", mylist)

效果如下,读者可以仔细核对是否如前文所述。

特别注意:前文示例代码也展示了,如果列表内元素类型不一致(如混合了数字、字符串或其他类型),开发者必须实现一个lambda函数提供给sort函数作为排序参考。

总结

List具备众多功能,对元素进行添加、删除、定位等操作非常便捷。

此外,还能轻易实现扩充、排序和逆序等功能,这使得List的使用场景极为广泛。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。