python中[-2::]的双冒号加数字后面的用法

老师弄了一个题,是这样的
a = 'python基础语法\n精讲'
print(a[-2::]*2)
这个运行出来是 “精讲精讲”
,我想知道这个[-2::]是什么意思,网上找的都是双冒号加前面,没有加后面的讲解,在线求解(python的)

方括号中的用法为[start](:[end](:[step])),你现在就是从倒数第二个位置开始到结束,取每个元素,然后对取出来的字符串再乘2,就是重复两次
相关知识点可以看一下


有帮助望采纳~

就是从倒数第二个字符开始取,一直到结束为止
他这个乘2之后重复两次

img

[::]是列表切片
格式:li[start : end : step]
start是切片起点索引(默认值是0),end是切片终点索引,但切片结果不包括终点索引的值(默认值是列表长度)。step是步长默认是1。
[-2::] 意思是切片起点索引为-2,终点索引和步长都是默认值。就等于是a[-2:len(a):1],也就是从倒数第二个字符开始一直到字符串结尾
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮

切片
作用: 通过切片来截取部分内容
表达式: str[ 起始位置 : 结束位置 : 步长]
序列可以通过下标来访问值,而表达式的位置就是下标。
步长默认为1
比如 str="0123456789"
str[ 0 : 10 ]就是输出下标0到下标10的值,这里的步长是没定义的,默认为1
结果#0123456789
str[ 0 : 10 : 2 ]输出下标0到下标10,且步长为2
结果#02468
相当于输出一个,跳步长-1个,再输出直到结束位置

a[ -2 : : ] 表示 开始位置下标为-2,结束位置没写默认到后面全部,步长没写默认1
-2是从后面数,-1讲-2是精
从精开始到后面全部结束
所以输出精讲 *2