【原创】Python切片中step用法总结

切片操作的语法格式:

列表名[ start : stop : step ]

1.切片的结果:原列表片段的拷贝(会产生新的列表对象):

lst = [10,20,30,40,50,60,70,80]
#切片为:start=2 , stop=6 , step=1
lst2 = lst[2:6:1]
print(lst2)    #[30, 40, 50, 60]
print('原列表id:%d'%id(lst))    # 20304008
print('切片后新列表id;%d'%id(lst2))    # 68414536

2.step默认为1,简写为 [start : stop]

# 省略step
print(lst[1:6:])    # [20, 30, 40, 50, 60]
print(lst[1:6])    # [20, 30, 40, 50, 60]
print(lst[1:6:2])    # [20, 40, 60]

3.step为正数:(从start往前开始切片)

  1. [ : stop : step]:切片的第一个元素默认是列表的第一个元素
  2. [start : : step]:切片的最后一个元素默认是列表的最后一个元素
# 省略start
print(lst[:6:1])    # [10, 20, 30, 40, 50, 60]
# 省略stop
print(lst[1::2])    # [20, 40, 60, 80]

4.step为负数:(从start往左开始切片,step为-1,从右往左执行切片,从start开始,stop结束)

  1. [start : : step]:列表的最后一个元素默认是新列表的第一个元素
  2. [: stop : step]:列表的第一个元素默认是新列表的最后一个元素
  3. [ : : -1 ]:列表倒序
# 从start开始(包含start),向左切片,截止到stop(不包含stop)
a = [1,2,3,4,5,6,7,8,9]

## step = -1时,start在前,stop在后,切片结果为空
a[1:3:-1]    # []
a[1:-3:-1]    # []

## step = -1时,start在后,stop在前时才能切片
a[-1:-3:-1]    # [9, 8]
a[-1:3:-1]    # [9, 8, 7, 6, 5]
a[:-3:-1]    # [6, 5]
a[6:3:-1]    # [7, 6, 5]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值