跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Python算法

Python 列表与元组:核心区别与常用操作详解

Python 序列类型中列表和元组是最常用的数据结构。列表可变,支持动态增删改;元组不可变,适合存储固定数据。两者均支持索引切片,但元组性能略优且可用作字典键。掌握它们的差异能提升代码效率与安全性。

观心发布于 2026/3/16更新于 2026/4/273 浏览

基础概念:索引与切片

在深入列表和元组之前,先统一一下序列类型的访问方式。Python 使用下标索引来定位元素,索引从 0 开始计数。例如,第一个元素的索引是 0,第二个是 1。此外,Python 还支持负数索引,-1 代表最后一个元素,-2 代表倒数第二个,以此类推。

除了访问单个元素,**切片(slice)**允许我们获取序列的子集。语法为 [start:stop:step],其中 start 包含,stop 不包含,step 是步长(默认为 1)。如果索引越界,Python 会抛出 IndexError 异常。

文章配图

列表(List):灵活的可变序列

列表是 Python 中最常用的数据结构之一,用方括号 [] 定义。它是有序的、可变的,意味着我们可以随时添加、删除或修改其中的元素。列表中的元素类型可以混合,甚至可以是嵌套的列表。

常见操作

  1. 访问与修改:通过索引直接读写。
  2. 添加元素:append() 追加末尾,insert() 指定位置插入,extend() 合并列表。
  3. 删除元素:remove() 按值删除,pop() 按索引弹出并返回,del 语句直接移除。

文章配图

my_list = [10, 20, 30, 40, 50]
my_list.remove(20)       # 删除值为 20 的元素
last_element = my_list.pop()  # 弹出最后一个元素
del my_list[1]           # 删除索引 1 处的元素

文章配图

元组(Tuple):固定的有序集合

元组与列表非常相似,但关键区别在于不可变性。一旦创建,元组的内容就不能被修改。它使用圆括号 () 定义。这种特性使得元组更适合存储不需要改变的数据,比如配置项或数据库记录。

常见操作

元组支持索引访问、切片和遍历,但不支持修改、添加或删除操作。尝试修改元组元素会抛出 TypeError。

文章配图

my_tuple = (1, 2, 3)
# my_tuple[1] = 99  # 报错:'tuple' object does not support item assignment

列表与元组的核心差异

在实际开发中,选择哪种结构主要取决于数据的生命周期需求。

  1. 可变性:列表可变(mutable),元组不可变(immutable)。这是最根本的区别。
  2. 语法:列表用 [],元组用 ()。注意,单元素元组需要加逗号,如 (1,)。
  3. 性能:由于元组不可变,其内存占用更小,访问速度通常比列表稍快。

文章配图

简单来说,如果你需要频繁修改数据,选列表;如果需要保证数据不被意外篡改,或者作为字典的键,选元组。

文章配图

目录

  1. 基础概念:索引与切片
  2. 列表(List):灵活的可变序列
  3. 常见操作
  4. 元组(Tuple):固定的有序集合
  5. 常见操作
  6. my_tuple[1] = 99 # 报错:'tuple' object does not support item assignment
  7. 列表与元组的核心差异
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 利用 AI 辅助开发高性能贪吃蛇游戏实战
  • ROS2机器人slam_toolbox建图零基础
  • 非科班转码者 AI 学习路径:从 0 到 1
  • Python IGRF 库本地环境配置与使用指南
  • Seedance 2.0 双分支扩散变换器架构解析与工程实现
  • 文心一言开源模型部署与多维性能测评实战
  • 无人机安全测试与 GPS 信号模拟工具使用指南
  • Shell 脚本数组变量:普通与关联数组实战
  • Java Map 常用方法与核心实现类深度解析
  • Ollama 模型下载慢?国内镜像加速与 LLama-Factory 微调实战
  • 开源知识库 RAGFlow 从部署到实战操作详解
  • 6 款 AI 测试技能工具,助力自动化测试提效
  • OpenCode Superpowers 插件安装与使用指南
  • Python Selenium 自动化测试实战:从入门到企业级应用
  • 低空安全综合管理服务平台建设方案
  • intv_ai_mk11 开源模型实战:Llama 架构中文优化细节解析
  • Python 调用高德地图 MCP 服务查询天气示例
  • 前端面试核心知识点整理(含 JavaScript、Vue、React 等)
  • OpenClaw:本地优先开源 AI 智能体部署与实战指南
  • Raphael AI:基于 Flux 模型的免费 AI 图像生成工具

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online