使用list和tuple
Python 作为入门友好的编程语言,容器类型(可装多个数据的结构)是绕不开的第一课。而 list(列表)和 tuple(元组)就是使用率最高的「有序序列双容器」——它们都能存任意类型的元素、都支持索引切片,但一个「想改就改」,一个「一旦创建就不许动(结构不许动,内容看元素)」。今天就把这俩的用法、区别、最佳实践全讲明白~
列表(List)
列表是Python中最基础的可变有序序列,适合存储需要动态增删改的数据。
创建列表
列表用方括号 [] 包裹元素,元素之间用逗号分隔:
访问列表元素
用索引(下标)定位元素,有两个核心规则:
⚠️ 注意!新手常踩坑:
- 索引永远从0开始(不是1);
- 负数索引从-1(最后一个元素)倒推,比如-2是倒数第二个;
- 索引越界会直接抛出
IndexError: list index out of range。
列表常用操作
1. 获取列表长度
用Python内置的通用长度函数 len():
2. 修改元素
直接通过索引赋值即可:
3. 添加元素
有三种常用方法,各有适用场景:
4. 删除元素
三种常用方法:
多维列表(嵌套列表)
列表可以套列表,形成二维/三维数据结构(比如模拟矩阵、网格):
💡 实用小技巧:想快速拿到二维列表的某一列?可以用
zip(*matrix)先转置(结果是元组的迭代器,转成列表要加list()),后面学迭代器时会更深入~
列表切片(超级好用的功能!)
切片可以一次性访问列表的子集,完整语法是 list[start:end:step],三个参数都可选!
start:起始索引(默认0,包含)end:结束索引(默认到末尾,不包含)step:步长(默认1,负数表示反向)
元组(Tuple)
元组是Python中伪不可变的有序序列,适合存储不应修改的固定数据。
创建元组
元组用圆括号 () 包裹元素(有时可省略,比如函数返回、元组解包),但有一个超级重要的规则:
⚠️ 超级警告! 创建仅含一个元素的元组,必须加逗号!否则Python会把它当成普通的括号运算符(优先级控制),创建的是单个值的变量!
访问元组元素
和列表完全一致——索引、切片都能用!但因为不可变,不能修改、增删元素:
元组的「伪不可变性」陷阱
元组的不可变性,指的是元组中每个元素的「引用地址」不可变!如果元素本身是可变对象(比如list、dict、set),我们可以修改这个可变对象的内容!这是新手常踩的小坑:
元组解包(Tuple Unpacking)—— Pythonic的核心操作!
元组解包可以一次性把元组的元素赋值给多个变量,超级实用!
List vs Tuple:核心对比速查表
小试牛刀(练手题)
预期输出:
核心要点&场景速记
- 有序序列双容器:list和tuple都支持索引、切片、len()、迭代等通用操作;
- 核心区别看「变」:
- List:
[],可变,灵活优先;- Tuple:
()(单个元素加逗号!),伪不可变,性能/安全优先;- 踩坑提醒:Tuple里的可变元素内容可以改,但引用不能换;
- 必学元组解包:这是Python代码简洁性的核心之一。
掌握list和tuple是Python编程的第一步,接下来的循环、函数、字典学习中,它们会无处不在~多写几遍练手题,很快就能上手啦!

