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

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 randomoffices = [[], [], []]  # 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进阶教程!如有疑问,欢迎在评论区留言讨论。

http://www.lryc.cn/news/606252.html

相关文章:

  • 八股训练--Spring
  • C#反射的概念与实战
  • 网络编程-IP
  • TCP窗口缩放配置在云服务器高延迟网络中的参数调整测试
  • Android端RTMP低延迟播放器在工业与智能场景下的架构与落地
  • 抓大鹅小游戏微信抖音流量主小程序开源
  • TGD第九篇:三维应用——视频边缘检测
  • 【AI论文】MUR:面向大型语言模型的动量不确定性引导推理
  • cuda编程笔记(11)--学习cuBLAS的简单使用
  • Coze Studio概览(四)--Prompt 管理功能详细分析
  • 分布式锁的基本原理和基于lua脚本的实现(Redisson)
  • 红黑树×协程×内存序:2025 C++后端核心三体问题攻防手册
  • 旅游城市数量最大化 01背包问题
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘plotly’问题
  • Mac安装Navicat教程Navicat Premium for Mac v17.1.9 Mac安装navicat【亲测】
  • IK 字段级别词典的升级之路
  • 【RH134 问答题】第 11 章 管理网络安全
  • ACL 2024 大模型方向优秀论文:洞察NLP前沿​关键突破!
  • 前端框架Vue3(四)——组件通信及其他API
  • SecurityContextHolder 管理安全上下文的核心组件详解
  • python之使用ffmpeg下载直播推流视频rtmp、m3u8协议实时获取时间进度
  • 金融分类提示词演示
  • 代码随想录Day35:动态规划(背包问题 二维 一维、分割等和子集)
  • 守护金融核心业务 | 博睿数据《金融业务全景与全链路智能可观测体系建设白皮书》发布!
  • 云上服务器常见的存储方式和类型
  • MySQL 中的 JOIN 操作有哪些类型?它们之间有什么区别?
  • vk框架或者普通函数封装的一些函数可以拿取使用【会持续更新】
  • Maven模块化开发与设计笔记
  • 一起学springAI系列一:初体验
  • 解释 MySQL 中的 EXPLAIN 命令的作用和使用场景