文章 > Python基础教程 > python中切片如何获取非连续序列

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

头像

小妮浅浅

2021-04-08 09:35:56971浏览 · 0收藏 · 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的设置。大家学会这种特殊的切片方法,可以多展开相关练习加强记忆。

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮