python中slice()函数的用法,与[]符号的区别

slice()函数描述

slice()函数是python的内置函数,一般情况下接收二至三个的int整型参数,用来获取python中的iterable可迭代对象的部分元素。在python中,获取可迭代对象iterable的切片,可以使用“[]”符号来进行获取,那么这二者之间有什么区别呢?先来看一看slice()函数的参数语法结构和返回值。


slice()函数参数语法结构

该参数语法结构源于python的部分源码:

slice(start, stop[, step])

slice()参数解析

  • start:切片的起始位置索引值,可以取到该索引的值;
  • stop:切片的终止索引值,无法取到该索引位置上的值;
  • step:可选参数,用来指定slice()取值的步伐,具体的可以看下方是实例代码;

slice()函数返回值

python的源码之中有这么一句话:Create a slice object. This is used for extended slicing (e.g. a[0:10:2]).即slice的返回值为:slice object。


slice()函数实例代码

>>> a = list(range(1,10))
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[1:6:2]
[2, 4, 6]
>>> b = slice(1,3,2)
>>> type(b)
<class 'slice'>
>>> a[b] #注意b的使用方法,用的是“[]”符号,而不是“()”
[2]
>>> a[1:3:2] #利用“[]”对可迭代对象a进行切片
[2]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]

代码解析

如上代码,b为slice类型数据(object),可以用来获取可迭代对象的相关切片,并返回与原可迭代对象类型一致的python对象,并不修改原可迭代对象的值。从a[1:3:2]与a[b]的比较可以发现,二者的效果是一样的。



全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.