详解Python 列表切片技巧

  • Post category:Python

下面是Python列表切片技巧的完整攻略。

什么是切片

切片是Python语言中对列表(list)的一种操作方法,可以从一个列表中获取任意范围的子序列。切片的语法形式如下:

my_list[start:end:step]

其中,start表示起始位置,end表示终止位置,step表示步长。比如:
my_list[1:5]表示从列表的第2个元素到第5个元素(不包含第5个元素);
my_list[:5]表示从列表的第1个元素到第5个元素(不包含第5个元素);
my_list[1:]表示从列表的第2个元素到最后一个元素;
my_list[::2]表示取所有元素中下标为偶数的元素,即第1个、第3个、第5个…元素。

可以用len(my_list)获取列表my_list的元素个数,也可以用负数表示从列表的结尾开始算起的位置。

切片技巧

1. 倒序排列列表

有时候需要将列表反转,用切片可以非常简单地实现:

my_list[::-1]

这样得到的就是倒序排列后的列表。

2. 选择最后N个元素

有时候需要选择列表中的最后N个元素,可以借助切片的负数下标:

my_list[-N:]

这样得到的就是列表中最后N个元素。

示例说明

示例1:倒序排列字符串

s = "hello world"
reversed_s = s[::-1]
print(reversed_s)  # "dlrow olleh"

使用[::-1]切片,将"hello world"颠倒过来。

示例2:选择列表中的最后3个元素

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
last_3_items = my_list[-3:]
print(last_3_items)  # [8, 9, 10]

使用[-3:]切片,得到列表中最后3个元素。