PYTHON中的切片器

您所在的位置:网站首页 python中切片用法 PYTHON中的切片器

PYTHON中的切片器

#PYTHON中的切片器| 来源: 网络整理| 查看: 265

切片(slice)用来从list,string,tuple等对象中提取数据。格式是[开始下标,结束下标,步长]

示例数据

例如a=[1,2,3,4,5,6,7,8,9,10]

元素下标从0开始print(a[1]) 结果:2当下标为1时,取第2个值。这里的切片[1]是开始位置,省略了结束位置和步长参数。指定结束下标时,不取结束下标的数print(a[1:5]) 结果:[2, 3, 4, 5]切片为[1:5],表示取第2到第5个元素值,而不是到第6个有冒号且缺省结束下标时,表示取到最后一个值print(a[5:]) 结果:[6, 7, 8, 9, 10]结束下标缺省,表示从第6个取到最后一个。有冒号且缺省开始下标时,表示从第一个开始取。print(a[:4]) 结果:[1, 2, 3, 4]开始下标缺省,默认为0。[0:4]表示取第1到第4位置的数。指定步长,间隔取数print(a[4:10:2]) 结果:[5, 7, 9]第三参数步长为2,缺省时默认为1。步长为负数

当步长为负数时,需要一参的开始下标大于二参的结束下标

print(a[8:5:-1]) [9, 8, 7]开始下标8对应第9个数,结束下标5对应第6个数,去掉结束下标位置的数,从第9个到第7个位置的数。因为步长为-1,可以反方向取数。如果步长为正数,并且开始下标大于结束下标,结果为[]。步长为负数时,缺省上下标情况print(a[::-1]) 结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

从结果看,是从最后一个取到第1个。

默认的开始下标为最大下标9。

a[9::-1]的结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

默认结束下标应该取到0,因为结束下标要去掉最后一个下标位置的值,所以结果应该与print('a[9:-1:-1]一致,但结果却不是预期的样子。我也不知道为叙,可能做了特殊处理吧。

a[9:0:-1]的结果: [10, 9, 8, 7, 6, 5, 4, 3, 2] a[9:-1:-1]的结果: []当下标为负数时,取数逻辑相似print(a[-5:-2]) 结果:[6, 7, 8]创建切片器对象

slice(2,7,2)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3