python中[::]的各种问题

本节主要介绍[::]的各种用法

今天sololearn和Shubham打了一局输在了这个题上

其实[数字a:数字b:数字c]就是一种比较方便的访问形式

适用于哪些类型呢?

主要适合list (str也是可以的)

三个数字什么意思呢?

其实大部分状态下都是缺省的,例如下面这段代码

c = [1,2,3,4,5,6]
print((c[1:3]))

答案就是输出c的第一个和第二个数字,[2,3]

如果加上第三个数字,就是表示步长的参数。

c = [1,2,3,4,5,6]
print((c[1:6:2]))

就是从c的第一个到第六个,每隔2输出一个,结果就会是

[2, 4, 6]

b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进
当s<0时,i缺省时,默认为-1(就是最后一个). j缺省时,默认为-len(a)-1(就是第一个)

c = [1,2,3,4,5,6]
print((c[:-len©-1:-1]))

答案是[6, 5, 4, 3, 2, 1]

c = [1,2,3,4,5,6]
print((c[:-len©:-1]))

答案是[6, 5, 4, 3, 2]

[::-1]所以就是反向访问

然而直接用-len( c )-1是会报错的,就像访问len( c )+1也会报错一样

发布了59 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43914889/article/details/88322742