python列表切片语法为list[start:end:step],默认值分别为0、len(list)、1,end不包含;配合len、sum、min、max等内置函数可高效完成子列表计算与统计。

Python列表的切片和计算是日常编码中最常用、也最容易出错的部分。掌握好切片规则和内置计算方法,能让你写得更快、读得更清、改得更稳。
切片:取子列表的通用写法
切片语法是 list[start:end:step],三个参数都可省略,默认值分别是 0、len(list)、1。注意:end 是不包含的边界,这是新手最常踩的坑。
- 正向切片:如
nums = [0,1,2,3,4,5],nums[1:4]得到[1,2,3] - 省略参数:
nums[:3]从开头取3个;nums[3:]从索引3取到末尾;nums[:]相当于浅拷贝 - 负数索引:-1 表示最后一个元素,
nums[:-1]去掉最后一个;nums[-3:]取最后三个 - 步长 step:
nums[::2]取偶数位(0,2,4…);nums[::-1]是最常用的反转写法
长度、求和与基本统计
对数值型列表做快速计算,Python 提供了简洁的内置函数,无需手写循环。
-
len(lst):返回元素个数,适用于任何序列,不只是数字列表 -
sum(lst):只对数字列表有效,字符串列表会报错;支持起始值,如sum(lst, 10)相当于先加10再累加 -
min(lst)和max(lst):返回最小/最大元素,同样要求元素可比较(比如不能混用字符串和数字) - 注意:空列表调用
sum返回 0,但min/max会抛ValueError,使用前建议加判断或用default参数(Python 3.4+)
常见组合技巧
把切片和计算结合起来,能解决很多实际小任务。
立即学习“Python免费学习笔记(深入)”;
- 求后5个数的平均值:
avg = sum(lst[-5:]) / len(lst[-5:])(注意空列表保护) - 跳过前2个、每2个取1个:
lst[2::2] - 提取偶数位置的元素(索引为0,2,4…):
lst[::2];提取奇数位置:lst[1::2] - 安全截断:想取前10个但不确定列表长度?直接写
lst[:10]—— 超了自动截,不够就全取,不会报错
基本上就这些。切片看着简单,但边界和负数容易绕晕;计算函数虽少,但配合切片威力很大。多练几次,自然就顺了。