python中切片操作用于从某个对象中抽取部分值,应用较广。切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

1.切片与索引

  • 索引是通过下标取某一个元素;包括正索引(从0开始)和负索引(从-1开始)。

    (图片截取:https://www.jianshu.com/p/15715d6f4dad
  • 切片是通过下标取某一段元素。
    slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。
    语法:slice(stop)slice(start, stop[, step])
a = ("a", "b", "c", "d", "e", "f", "g", "h")
x = slice(3, 5)
print(a[x])

截取第四个和第六个(python从零开始):

python 中的切片操作 python里的切片_参考资料

a = ("a", "b", "c", "d", "e", "f", "g", "h")
x = slice(0, 8, 3)
print(a[x])

每隔三个取一个值:

python 中的切片操作 python里的切片_python 中的切片操作_02


2.NumPy 切片和索引

可以通过冒号分隔切片参数start:stop:step 来进行切片操作:

(1)如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。

(2)使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项。

import numpy as np
 
a = np.arange(10)  # [0 1 2 3 4 5 6 7 8 9]
print(a[2:5])

输出2-5之间的元素,不包括5,即[2 3 4]。

总结:

  • [起始位置:终止位置]:起始位置保留,终止位置不保留;
  • [起始位置:]:默认到结尾;
  • [ :]:[起始位置(默认从开头):终止位置(默认到结尾)]。

参考资料:
彻底搞懂Python切片操作:https://www.jianshu.com/p/15715d6f4dad

https://www.runoob.com/numpy/numpy-indexing-and-slicing.html