python 切片|Python切片学习笔记详解

更新时间:2020-04-06    来源:python    手机版     字体:

【www.bbyears.com--python】


切片功能是为了方便操作list或tuple设计的。主要是为了方便对其中元素的提取。
假设一个list列表中有abcde五个元素,想依次输出这五项则需要代码:

L=["a","b","c","d","e"]
n=5
for i in range(n):
print(L[i])

python提供了切片功能,可以实现对list内的元素进行灵活读取。

L=["a","b","c","d","e"]
print(L[0:3])

返回["a", "b", "c"],即从索引0开始取到索引3,但不包括索引3,也就是索引0,1,2(a是索引0)
同样也可以从倒序来取
print(L[-1])返回e

print(L[-3:-1])返回c,d(倒数第三个开始取,取到倒数第一个,但是不包括倒数第一个。)

高级切片
有的时候需要进行高级切片,比如在1-100内取奇数,则需要使用两个:进行分隔。

L=list(range(1,101,1))
print(L[0:100:2])
返回1,3,5......99
取偶数print(L[1:100:2])
被3整除的数:print(L[2:100:3])

字符串也被看作是list

a="abcde"
print(a[0:3])

返回abc

有一个经典应用是:翻转字符串

比如:

12 >>> str="pythontab.com"
>>> str[::-1]

结果为:

"moc.batnohtyp"


切片边界问题


实例:

123456 s=[1,2,3,4]       # S 上界为 0 下界为 4 
s[-100:100]       #返回 [1,2,3,4] -100超出了上界,100超出了下界:等价于 s[0:4]
s[-100:-200]      #返回 [] -100,-200均超出了上界,自动取上界:等价于s[0:0]
s[100:200]        #返回 [] 100,200均超出了下界,自动取下界值:等价于s[4:4]
s[:100]           #返回 [1,2,3,4] 开始值省略表示从第0个开始
s[0:]             #返回 [1,2,3,4] 结束值为空表示到最后一个结束

注意:我使用的python版本为python2.7,python的切片存在版本兼容问题。在python3中有更加高级的功能和用法,在使用时一定要注意自己的python版本。

本文来源:http://www.bbyears.com/jiaocheng/92230.html

热门标签

更多>>

本类排行