1. 对list,tuple切片
Python提供了切片操作符,可以对list, tuple进行切片。
L = range(1, 101) # range 函数创建一个数列[1,2,3..,100]
L[:] #取出L的所有元素
L[:10] #取出前10个数,也可表示为 L[0:10],如果第一个索引是0,可以忽略
L[2::3] #取出3的倍数(此处可以传入三个参数,第一第二个依次是目标索引的开头,结尾,最后一个参数是每N个取一个)
L[4:50:5] #取出不大于50的5的倍数,如果L[:50:5]不指定第一个索引,则会从第一个开始取,结果将会是[1,6,11,16...,46]
tuple切片与list一样,只是切片的对象是tuple, 切片出来的结果也是一个tuple.
2. 倒序切片
L = range(1, 101)
print L[-10:] #取出最后10个数
print L[-50:-1:2] #在倒数50到倒数第1个数中每2个数取一个即隔一个取一个数
print L[4::5][-10:] #取出最后10个5的倍数
3. 字符串切片
字符串 ‘xxx’和 Unicode字符串 u’xxx’也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单:
>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[-3:]
'EFG'
>>> 'ABCDEFG'[::2]
'ACEG'