优草派  >   Python

Python列表切片技巧有哪些?Python列表的切片基本操作

翟嘉慧            来源:优草派

前面我们学习了Python列表切片的规则,其实在Python中还对列表对象提供了非常方便的切片特性,可以视为一种提供方括号进索引的扩展语法,通常用于访问有序集合中某一范围的元素,下面一起来看看在列表中使用切片的操作都有哪些技巧吧。

Python列表切片技巧有哪些?Python列表的切片基本操作

对切片技巧的讲解前,我们先熟悉一下切片中使用[]对元素进行索引的方法,格式如下:

[start:stop:step]

下面看一个简单的示例:

lst = [1, 2, 3, 4, 5]
lst
运行结果:[1, 2, 3, 4, 5]
lst[start:end:step]
lst[1:3:1]
运行结果:[2, 3]

在这段代码中,我们是通过[1:3:1]的方式返回的是从索引1到索引2的原始列表切片,将步长设置为1,避免在元素的处理中,多出一个元素,需要注意的是,一般在索引的时候是取头不取尾。

技巧1:使用:操作符清空列表中的所有元素

在一个程序中,如果是有其它的引用需要替换掉列表中的元素时,这个时候需要做的第一件事情就是将列表元素清空处理,不能使用替换的方式,因为这样会改变原列表的引用,此时就可以使用“:”符号进行操作了,举个例子,代码如下:

lst = [1, 2, 3, 4, 5]
del lst[:]
lst
运行结果:[]

通过运行结果可以看到,列表中元素是被清空的,但是这并不会改变列表对象。

技巧2:使用::操作符反转列表

刚才技巧1中使用的是一个‘:’操作符,就可以实现列表清空的操作,现在使用两个,就是直接将列表起始位置和结束位置省略,下面看一个简单的例子,使用[::-1]切片会得到原始列表的逆序副本:

lst = [1, 2, 3, 4, 5]
lst[::-1]
运行结果:[5, 4, 3, 2, 1]

通过运行结果可知,::让Python提供完整的列表,但将步长设置为-1来从后到前遍历所有元素。就相当于list.reverse()和内置的reverse()函数来反转列表一样。

关于Python列表切片技巧有哪些?Python列表的切片基本操作的文章就分享到这里了,希望以上的内容可以对大家的学习带来一定的帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。