Python列表完全指南:从基础到实战(2025版)

引言

Python作为一门简洁高效的编程语言,其数据结构的灵活性是其一大优势。列表(List)作为Python中最常用的数据结构之一,无论是存储数据、处理序列还是实现复杂算法,都扮演着不可或缺的角色。本文将基于Python快速入门(2025版)的基础内容,结合进阶操作与实战案例,带你全面掌握Python列表的使用技巧。

一、列表基础:定义与核心操作

1.1 为什么需要列表?

当需要存储多个相关数据时(如班级学生姓名、考试分数),使用单个变量逐个存储显然效率低下。列表允许我们将多个数据项有序组织在一个变量中,实现批量管理。

1.2 列表的定义

使用中括号[]定义列表,元素之间用逗号分隔:

# 存储学生姓名
stu_names = ['wanglaoshi', 'dongge', 'dong4716138']
# 存储分数
scores = [100, 99, 100, 95, 90]

1.3 列表的访问与修改

  • 下标访问:通过索引(从0开始)定位元素
    print(stu_names[0])  # 输出:wanglaoshi
    
  • 切片操作:获取子列表(左闭右开)
    print(stu_names[1:3])  # 输出:['dongge', 'dong4716138']
    
  • 元素修改:直接通过下标赋值
    stu_names[0] = "Wang Lao Shi"
    

1.4 列表的遍历

  • for循环(推荐)
    for name in stu_names:
        print(name)
    
  • while循环
    i = 0
    while i < len(stu_names):
        print(stu_names[i])
        i += 1
    

1.5 列表 vs 其他语言数组

Python列表的独特之处在于支持存储不同类型数据

teacher = ["王老师", "山东省青岛市", 18, 176.5]  # 混合字符串、整数、浮点数

最佳实践:尽管支持混合类型,实际应用中建议存储相同类型数据以避免操作错误。

二、列表操作进阶:增删改查与排序

2.1 元素添加

  • append():在末尾添加单个元素
    stu_names.append("new_student")
    
  • extend():合并另一个列表(逐个添加元素)
    a = [1, 2]; b = [3, 4]
    a.extend(b)  # a变为[1,2,3,4]
    
  • insert():在指定位置插入
    a.insert(1, 3)  # 在索引1处插入3,a变为[1,3,2]
    

2.2 元素删除

  • del:按索引删除
    del movie_names[2]  # 删除第三个元素
    
  • pop():删除末尾元素(返回被删除值)
    last = movie_names.pop()
    
  • remove():按值删除(删除第一个匹配项)
    movie_names.remove("指环王")
    

2.3 元素查找与计数

  • in/not in:判断元素是否存在
    if "xiaoWang" in stu_names:
        print("存在")
    
  • count():统计元素出现次数
    nums = [1,2,1,3]; print(nums.count(1))  # 输出:2
    

2.4 排序操作

  • sort():原地排序(默认升序)
    a = [3,1,2]; a.sort(reverse=True)  # 降序排列,a变为[3,2,1]
    
  • reverse():原地反转
    a.reverse()  # 反转列表
    

三、列表嵌套与实战案例

3.1 嵌套列表的定义

列表中的元素可以是另一个列表,形成多维数据结构:

school_names = [
    ['北京大学', '清华大学'],
    ['南开大学', '天津大学']
]

3.2 实战:随机分配工位

需求:将8位老师随机分配到3个办公室
代码实现

import random

offices = [[], [], []]  # 3个办公室
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']

for name in names:
    # 随机分配到0-2号办公室
    offices[random.randint(0, 2)].append(name)

# 打印分配结果
for i, office in enumerate(offices, 1):
    print(f"办公室{i}人数: {len(office)}")
    print(f"成员: {office}\n" + "-"*20)

运行结果(随机):

办公室1人数: 3
成员: ['A', 'C', 'E']
--------------------
办公室2人数: 2
成员: ['B', 'D']
--------------------
办公室3人数: 3
成员: ['F', 'G', 'H']
--------------------

四、总结与学习资源

本文基于Python快速入门(2025版)列表基础展开,详细介绍了列表的基础用法、进阶操作和实战案例。列表作为Python编程的基石,掌握其使用技巧对数据处理、算法实现至关重要。

推荐延伸学习

  • 列表推导式(高效创建列表的语法糖)
  • 列表与其他数据结构(元组、字典)的配合使用
  • 实际项目中的列表优化技巧(如避免频繁append的性能问题)

欢迎点赞、收藏本文,关注作者获取更多Python进阶教程!如有疑问,欢迎在评论区留言讨论。

posted @ 2025-07-31 18:26  iotzgq  阅读(224)  评论(0)    收藏  举报