python中[:]和[::]的区别
如果要从字符串中取出多个字符,我们可以对字符串进⾏切⽚,运算符是[i:j:k],其中i是开始索引,索引对应的字符可以取到;j是结束索引,索引对应的字符不能取到;k是步长,默认值为1,表⽰从前向后获取相邻字符的连续切⽚,所以:k部分可以省略。假设字符串的长度为N,当k > 0时表⽰正向切⽚(从前向后获取字符),如果没有给出i和j的值,则i的默认值是0,j的默认值是N;当k < 0时表⽰负向切⽚(从后向前获取字符),如果没有给出i和j的值,则i的默认值是-1,j 的默认值是-N - 1。如果不理解,直接看下⾯的例⼦,记住第⼀个字符的索引是0或-N,最后⼀个字符的索引是N-1或-1就⾏了。
s = 'abc123456'
# i=2, j=5, k=1的正向切⽚操作
print(s[2:5]) # c12
# i=-7, j=-4, k=1的正向切⽚操作
print(s[-7:-4]) # c12
# i=2, j=9, k=1的正向切⽚操作
print(s[2:]) # c123456
# i=-7, j=9, k=1的正向切⽚操作
print(s[-7:]) # c123456
# i=2, j=9, k=2的正向切⽚操作
print(s[2::2]) # c246
# i=-7, j=9, k=2的正向切⽚操作
print(s[-7::2]) # c246
# i=0, j=9, k=2的正向切⽚操作
print(s[::2]) # ac246
# i=1, j=-1, k=2的正向切⽚操作
print(s[1:-1:2]) # b135
# i=7, j=1, k=-1的负向切⽚操作
print(s[7:1:-1]) # 54321c
字符串长度 python# i=-2, j=-8, k=-1的负向切⽚操作
print(s[-2:-8:-1]) # 54321c
# i=7, j=-10, k=-1的负向切⽚操作
print(s[7::-1]) # 54321cba
# i=-1, j=1, k=-1的负向切⽚操作
print(s[:1:-1]) # 654321c
# i=0, j=9, k=1的正向切⽚
print(s[:]) # abc123456
# i=0, j=9, k=2的正向切⽚
print(s[::2]) # ac246
# i=-1, j=-10, k=-1的负向切⽚
print(s[::-1]) # 654321cba
# i=-1, j=-10, k=-2的负向切⽚
print(s[::-2]) # 642ca
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论