Python 字符串/列表 切片slice 正负 步长 (详细举例)


字符串:
s = '0123456789'    

index:
[  0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1]

slice[::]
[开始:结束(不含):方向&步数(默认为1)]

s = '0123456789'    
s[:] '0123456789'
s[::2] '02468'
s[::3] '0369'

s = '0123456789'    
s[1::2] '13579'
s[2::2] '2468'
s[2::4] '26'

s = '0123456789'    
s[:2:1] '01'
s[1:2:1] '1'
s[1:2:2] '1'
s[1:5:2] '13'

slice[开始:结束(不含):方向&步数]

s = '0123456789'    
s[::-1] '9876543210'
s[::-2] '97531'
s[::-3] '9630'

s = '0123456789'    
s[:2:-1] '9876543'
s[1:2:-1] ''    
s[2:1:-1] '2'
s[2::-1] '210'
s[-1:-2:-1] '9'
s[-1:-5:-2] '97'

补充: 列表切片

lst = [1,2,3,4,5]
lst[::2]  #output: [1, 3, 5]
lst[1::2] #output: [2, 4]

'''
使用切片更改原列表值:
'''
lst = [1,2,3,4,5]
lst[::2] = [0,0,0] 
#output: [0, 2, 0, 4, 0]



#3的倍数(不包括3)变0
lst = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
#lst[3*3::3] output:[9, 12, 15]
lst[3*3::3] = len(lst[3*3::3])*[0]
output:[0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 0, 13, 14, 0]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值