ITPub博客

首页 > IT职业 > IT职场 > python中切片如何获取非连续序列

python中切片如何获取非连续序列

IT职场 作者:xlmxlmxlm 时间:2021-09-11 10:00:24 0 删除 编辑

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

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表示从结束到开始切片。

当我们想要从序列中获取一些元素时,可以使用切片来进行操作。在大多数的情况下,我们会选择一系列连续的元素。那么在不连续元素的选择上,就需要对step_size的值进行修改。

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/930/viewspace-2830843/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    86
  • 访问量
    520