【python实用特性】-切片

切片,顾名思义,将一段连续的数据按照指定的规则切割为多个部分,从中得到我们需要的那部分。
在平时的编程时常会遇到这样的需求,取列表的前n个元素、或者最后一个元素…一般来说,前者我们可以通过循环获取,后者也可以通过下标取得。但其实我们有更好的解决方案——切片。

1、实例引入,取列表L的前4位元素
  • 循环实现
L = [1,2,3,4,5,6,7]
L1 = []
for i in range(4):
    L1.append(L[i])
print(L1)
  • 切片实现
L = [1,2,3,4,5,6,7]
L1 = L[:4] #切片,取前4位
print(L1)

结果:[1, 2, 3, 4]
可见,我们使用 L[:4] 进行了切片,而使用切片后,代码一下子精简了许多。那切片具体如何使用呢?往下看

2、切片的使用方法

上面实例中的L[:4]其实是简写后的写法,原始应为L[0:4:1]
所以切片的使用格式可抽象为 [start : end : stepNum],参数含义如下表所示。

参数代表含义
start切片的起始下标,即从哪一个位置开始切割,当start>=0时,表示从左往右取,反之表示从右往左取
:当start=0时,可以省略。
end切片的结束下标,即切割到哪个位置结束,最大为列表长度 ,即 len(llist)
注: 当end=len(list)时,可以省略。
stepNum取数间距,即隔多少位取一个数。大于0时表示正向隔取,小于0时表示反向隔取注: 不能等于0!

下面是一些使用实例:

  • 取列表的后三位元素
L = [1,2,3,4,5,6,7]
L1 = L[-3:]

结果:[5,6,7]
倒数第一个数、第二个数、第三个…分别对应 -1、-2、-3 …

  • 取第3到第6位之间元素
L = [1,2,3,4,5,6,7]
L1 = L[2:5]

结果:[3,4,5]
可见,第6位元素【6】并没有取到。因为切片默认取起始元素,不取结尾元素,即遵循左闭右开原则

  • 从0开始,每隔2位数取一次元素
L = [1,2,3,4,5,6,7]
L1 = L[::2]

结果:[1, 3, 5, 7]

  • 翻转列表

    L = [1,2,3,4]
    L1 = L[::-1]
    

结果:[4, 3, 2, 1]

3、哪些数据对象可以进行切片?

列表-list 、元组-tuple 、字符串-string

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值