python不连续切片_python中切片怎样获取非连续的序列?

python不连续切片_python中切片怎样获取非连续的序列?_第1张图片

当我们想要从序列中获取一些元素时,可以使用切片来进行操作。在大多数的情况下,我们会选择一系列连续的元素。那么在不连续元素的选择上,就需要对step_size的值进行修改。下面我们先简单了解切片的概念,然后就修改step_size的值获取不连续元素,带来详细的讲解。

1、概念

切片(slice)是取部分元素的操作。列表list,字典dic,字符串,元组均可进行切片操作。

提取单个元素时,返回结果的类型为该元素的类型;切片返回值类型为列表。

2、非连续序列实例

切片(slice)用于从给定的序列中提取元素的连续序列/子序列。默认情况下,step_size为1,因此生成一个连续序列。但是,我们可以为step_size提供任何值来获得非连续的元素序列。# Python program to rotate an array by 'd' elements.

def rotate(arr, d):

return arr[d:] + arr[:d]

if __name__ == '__main__':

arr = [1, 2, 3, 4, 5, 6, 7, 8]

arr = rotate(arr, 3)

print (arr)

# prints [3 ,4, 5, 6, 7, 8, 1, 2]

这里,我们再次连接两个切片操作的结果(列表)。首先,我们将列表从索引' d '切片到结束,然后从开始切片到索引' d '。# Python program to reverse an array.

def reverse(arr):

return arr[::-1]

if __name__ == '__main__':

arr = [1, 2, 3, 4, 5, 6, 7, 8]

arr = reverse(arr)

print (arr)

# prints [8 ,7, 6, 5, 4, 3, 2, 1]

这是一个显示step_size用法的例子。步长为-1表示从结束到开始切片。

以上就是python中切片获取非连续序列的方法,关键在于对于step_size的设置。大家学会这种特殊的切片方法,可以多展开相关练习加强记忆。

你可能感兴趣的:(python不连续切片)