一般来说,内置的slice()函数会创建一个切片对象,可以用在任何允许进行切片操作的地方。
下面是slice的简介:
1
2
3
|
# slice 两种用法 class slice (stop) class slice (start, stop[, step]) |
返回一个表示由 range(start, stop, step)
所指定索引集的 slice 对象。 其中 start 和 step 参数默认为 None
。 切片对象具有仅会返回对应参数值(或其默认值)的只读数据属性 start
, stop
和 step
。 它们没有其他的显式功能;不过它们会被 NumPy 以及其他第三方扩展所使用。
切片对象也会在使用扩展索引语法时被生成。 例如: a[start:stop:step]
或 a[start:stop, i]
。
请参阅 itertools.islice() 了解返回迭代器的一种替代版本。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
items = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ] a = slice ( 2 , 4 ) print (items[ 2 : 4 ]) # [2, 3] items[a] # [2:3] items[a] = [ 10 , 11 ] print (items) # [0, 1, 10, 11, 4, 5, 6] del items[a] # [0, 1, 4, 5, 6] |
如果有一个slice对象的实例s,可以分别通过s.atart、s.stop以及s.step属性来得到关于该对象的信息。例:
1
2
3
4
5
6
7
|
a = slice ( 10 , 50 , 2 ) print (a.start) # 10 print (a.stop) # 50 print (a.step) # 2 |
下面是indices官方解释:
slice.
indices
(self, length)
此方法接受一个整型参数 length 并计算在切片对象被应用到 length 指定长度的条目序列时切片的相关信息应如何描述。其返回值为三个整型数组成的元组;这些数分别为切片的 start 和 stop 索引号以及 step 步长值。索引号缺失或越界则按照正规连续切片的方式处理。
所有的值都已经恰当的限制在边界以内(当做索引操作时可避免出现IndexError异常)例:
1
2
3
4
5
6
7
8
|
s = 'HelloWorld' a.indices( len (s)) # (5, 10, 2) for i in range ( * a.indices( len (s))): print (s[i]) # w # r # d |
以上就是详解python编程slice与indices使用示例的详细内容,更多关于python编程slice与indices的资料请关注服务器之家其它相关文章!
原文链接:https://blog.csdn.net/chenyuhuaxin/article/details/100565816