实验目的
掌握Python语言中数据切片的基本函数以及用法
实验原理
Python语言中内置了多种对数据集操作的函数,它们对数据集的选取和切片操作非常方便
实验步骤
我们知道,字符串、列表和元组都是序列,即他们都是有顺序的,这样就可以根据这些序列的索引取出一个项目或使用切片取出连续的一组项目,这里就以字符串为例。
需要指出的是,
Python索引从0开始,这不同于R语言从1开始,而且取不到切片的上限,下面以例子说明问题。
mystring = 'LiuShunxiang'
print (mystring)
LiuShunxiang
取出第一个字符
print( mystring[0])
L
取出最后一个字符
length = len(mystring)
print (length)
12
print (mystring[len(mystring)-1])
g
取出’Liu’
print (mystring[0:2])
Li
发现并没有取全,是因为切片的上限2取不到,只能去到1的位置。
print (mystring[0:3])
Liu
或者
从第0个位置开始取,一直取到第2个位置
print (mystring[:3])
Liu
取出’xiang’
print (mystring[7:12])
xiang
或者
从第7个位置开始取,一直取到结尾
print (mystring[7:])
xiang
但这样有些复杂,需要从头开始数,如果字符串很长的话,数起来就麻烦了。可以考虑从后往前取。
print (mystring[-5:-1])
xian
仍然没有取全,因为-5的位置取不到,只取到了倒数第二个位置。
print (mystring[-5:])
xiang
上面的切片有一个规律,即切片的第一个值小于第二个值,如果大于等于第二个值呢?
print (mystring[0:0])
print (mystring[3:0])
发现不返回任何结果,且没有报错。其实切片有3个参数,即[start,end,step],默认情况下,step=1,所以print mystring[3:0]没有返回结果。
print (mystring[2::-1])
uiL
这样就能返回结果,但为逆序结果,如果想使结果再次颠倒一下,可以再原来的结果中再使用[-1::-1 ]切片。
print (mystring[2::-1][-1::-1 ])
print (mystring[-1:-6:-1][-1::-1 ])
Liu
xiang