列表切片(2)
本课属于 Coddy Python 学习旅程的“基础知识”单元。第 65 课,共 77 课。
切片还有另一个步长参数:lst[start:stop:step]。例如,看看这个列表:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]获取索引 1 到 8 之间每隔一个的元素:
print(numbers[1:8:2])
# 输出:[1, 3, 5, 7]从索引 2 开始,每隔两个元素获取一个:
print(numbers[2::3])
# 输出:[2, 5, 8]切片也支持负索引。
从末尾开始计数:
print(numbers[-3:])
# 输出:[7, 8, 9]这里,-3 表示“从末尾开始数第 3 个位置”
计数直到末尾:
print(numbers[:-2])
# 输出:[0, 1, 2, 3, 4, 5, 6, 7]这里,-2 表示“在末尾前 2 个位置停止”(不包含该位置)
使用负步长反转:
print(numbers[::-1])
# 输出:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]- 第一个
:前为空,表示“从开头开始”(步长为负数时,表示“从末尾开始”) - 两个
:之间为空,表示“直到末尾”(步长为负数时,表示“直到开头”) - -1 表示“每次向后移动一步”
挑战
简单创建一个程序,接收一个列表作为输入(给定),并根据以下切片操作打印出三个新列表:
- 从索引 1(第二个元素)开始,每隔两个元素取一个元素组成的列表
- 按倒序排列从第 6 个元素到第 1 个元素的所有元素组成的列表
- 从列表中间开始到末尾,每隔一个元素取一个元素组成的列表
亲手试试
lst = input().split(",")
# 在下方编写你的代码这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Python 在线编译器