Python 高级特性 : 切片
!!!文中所有代码均在IDLE中实现!!!
**如果你对我的文章有任何建议和意见,希望您可以在评论区。
在list,string 中取部分元素的操作是十分常见的
如下list:
>>> list = [1,2,'qwe',3,'asd']
>>> list
[1, 2, 'qwe', 3, 'asd']
想要取中间三个元素,要怎么做?
笨方法 1
直接利用索引取值
>>> list[1],list[2],list[3]
(2, 'qwe', 3)
如果有100个元素或者1000元素需要取那? 岂不是要累死。。
笨方法 2
利用循环取值
>>> for n in range(3) :
print list[n]
1
2
qwe
对于经常指定范围,利用循环会很麻烦。
python提供了切片操作符,大大简化了这种操作
对于上面的问题,只需一行代码即可解决
>>> list[1:4]
[2, 'qwe', 3]
切片用法解析
list[1:4]
表示从索引’1’,开始取元素,到索引 ‘4’结束,并且不包括索引’4’.
即list[0:4]经过切片后取到的值为 list[1] lisi[2] list[3]
当需要从索引‘0’开始取值时,可以省略切片中的起始的‘0’
>>> list[:3] ##取索引 0 到 2 的值
[1, 2, 'qwe'] ## list[1] list[2] list[3]
同样,python还支持倒序切片
>>> list[-1:]
['asd']
>>> list[-2:-1]
[3]
>>> list[-3:-1]
['qwe', 3]