在形式上,切片使用2个冒号分隔的3个数字来完成。

[start:end:step]

第一个数字start表示切片开始位置,默认为0;

第二个数字end表示切片截止(但不包含)位置(默认为列表长度);

第三个数字step表示切片的步长(默认为1)。

当start为0时可以省略列表切片,当end为列表长度时可以省略列表切片,当step为1时可以省略,省略步长时还可以同时省略最后一个冒号。

当step为负整数时,表示反向切片,这时start应该在end的右侧才行。

一、列表切片

>>> aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[::] #返回包含原列表中所有元素的新列表
[3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[::-1] #返回包含原列表中所有元素的逆序列表
[17, 15, 13, 11, 9, 7, 6, 5, 4, 3]
>>> aList[::2] #隔一个取一个,获取偶数位置的元素
[3, 5, 7, 11, 15]
>>> aList[1::2] #隔一个取一个,获取奇数位置的元素
[4, 6, 9, 13, 17]
>>> aList[3:6] #指定切片的开始和结束位置
[6, 7, 9]

二、元组切片

>>> T1=(10,50,20,9,40,25,60,30,1,56)
>>> T1[2:4]
(20, 9)
>>> T1=(10,50,20,9,40,25,60,30,1,56)
>>> T1[6:]
(60, 30, 1, 56)
>>> T1[:4]
(10, 50, 20, 9)

三、元组切片

如果从开头截取到某个特定的位置可以用 [ : a]来表示
>>> Hebe = "xiaoxingyun"
>>> Hebe[:3]
'xia'
如果从某一位开始截取到最后一位可以用[ a : ]来表示
Hebe[4:]
'xingyun'
这里有一点要说明, 在 pyhton中的字符串的索引序号可以是正数也可以是负数,从-1开始算:
>>> Hebe = "xiaoxingyun"
>>> Hebe[-1]
'n'
>>> Hebe[-2]
'u'
>>> Hebe[-3]
'y'
>>> Hebe[-4]
'g'
所以我们还可以这么玩:
>>> Hebe[-3:]
'yun'

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注