第二章 列表与元组 II
切片
切片用来访问特定范围内的元素。使用两个索引,并且用冒号分隔:
代码:
website = 'www.Ilovechina.com'
print(website[6:10]) # 第一个索引是包含的第一个元素的编号,但第二个索引是切片后余下的第一个元素的编号
print(website[8: -4]) # -4是倒数第四个
print(website[-3:-1]) # 前面的数字要小于后面
print(website[-4:0]) # 这一行是空,因为0是第一个
print(website[-4: ]) # 之后所有的, 省略第二个索引
print(website[ : ]) # 复制整个序列
输出:
ovec
echina
co.com
www.I
www.Ilovechina.com
简而言之,你提供两个索引来指定切片的边界,其中第一个索引指定的元素包含在切片内,
但第二个索引指定的元素不包含在切片内。
执行切片操作时,你显式或隐式地指定起点和终点,但通常省略另一个参数,即步长
代码:
website2 = 'www.Ilovemybeautifulcountry.com'
print(website2[0:10:1]) # 步长为1,切片包含起点和终点的所有元素
print(website2[0:10:2]) # 步长为2,切片从第一个开始每隔一个挑一个
print(website2[ : :4]) # 式地指定步长时,也可使用前述简写。例如,要从序列中每隔3个元素提取1个,只需提供步长4即可
print(website2[::-1]) # 步长可以为负数,但是不能为0,负数就是从后往前
print(website2[10:0:-1]) # 步长为负数时,第一个索引必须比第二个索引大。
print(website2[0:10:-1]) # 步长为正数时,它从起点移到终点,而步长为负数时,它从终点移到起点# 总之就是步长是正数,从前往后捋,步长为负数,从后往前捋,搞反了都会使得输出为空
输出:
www.Ilovem
wwIoe
wIeeictc
moc.yrtnuoclufituaebymevolI.www
ymevolI.ww