本文共 980 字,大约阅读时间需要 3 分钟。
在Python的切片操作中,sequence[start:stop:step] 是一个强大的工具,用于提取序列(如列表、元组、字符串等)中部分元素。切片的三个关键参数如下:
start:可选的开始索引,默认值为0。stop:结束索引,不包括在结果中,默认值为序列长度。step:步长,决定切片中元素之间的距离,默认值为1。通过切片语法可以轻松提取序列的子序列。例如:
my_list = [0, 1, 2, 3, 4, 5]sliced_list = my_list[2:5:2] # 提取索引2、4的元素,结果为[2,4]print(sliced_list) # 输出:[2, 4]
若需要修改序列的一部分,可以通过切片赋值实现:
my_list = [0, 1, 2, 3, 4, 5]my_list[2:5:2] = [10, 20] # 修改索引2、4的元素为10、20print(my_list) # 输出:[0, 1, 10, 20, 4, 5]
切片还可用于创建新序列,而不修改原始数据:
my_list = [0, 1, 2, 3, 4, 5]new_list = my_list[:3:2] # 提取索引0、2的元素,结果为[0,2]print(new_list) # 输出:[0, 2]
为了确保切片操作正确,可以编写测试用例:
def test_slicing(): assert my_list[:3:1] == [0, 1, 2], "Test failed for case 1" assert my_list[4::-1] == [5, 4, 3, 2, 1], "Test failed for case 2" assert my_list[::2] == [0, 2, 4, 6], "Test failed for case 3"test_slicing()
切片操作的step参数非常灵活,可以取正值、负值或零。例如:
切片操作的高级用法可以进一步提升代码效率和阅读性。
转载地址:http://shafk.baihongyu.com/