Python中[::-1]这个代码是什么意思?

“:”这个符号是什么意思?谢谢!

[::-1]是对字符串的截取操作,str[a:b]表示截取字符串的a开始的位置,b表示结束位置。b是负数,表示去除后几位。

由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。

取前3个元素,利用切片操作就是“L[0:3]”。如果第一个索引是0,还可以省略“L[:3]”。

也可以从索引1开始,取出2个元素出来,L[1:3],显示的结果就是“['Sarah', 'Tracy']”。

类似的,既然Python支持L[-1]取倒数第一个元素,那么同样支持倒数切片,试试“L[-2:]”,返回的就是“['Bob', 'Jack']”,记住倒数第一个元素的索引是-1。


扩展资料:

对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]。

1、start_index:表示是第一个元素对象,正索引位置默认为0;负索引位置默认为 -len(consequence)

2、end_index:表示是最后一个元素对象,正索引位置默认为 len(consequence)-1;负索引位置默认为 -1。

3、step:表示取值的步长,默认为1,步长值不能为0。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-27
个人理解是最后一项向后步进时用到的,::1是向后步进1时用到的。删除和插入列表时候,把k位置元素删除并把列表k位置向后步进一位接受数据返回列表原位置,列表长度减一。
::-1其实是同理,把元素插入k位置需要将k位置本来的元素向后步进1以空出一个新元素的插入点。
所以::1的最终i值会在循环时变大为k+1,这是为了接受更低位的列表数据,比如a【k]=a【k+1】,这里的a【k】是在有一个将要删除一个元素位的列表中的,所以有一个位置是无用的,但是在执行操作时,是先插入,后删除。所以k要大于原有序列号向后步进1,本位置存在的元素还未删除,依然占有也就是说,原有的k+1位置的元素会溢出。k+1序列处此时当于k+2,k相当于k+1,而k位置元素将在执行操作后被删除,然后重新将后位置排序到此位置。::1就是要把k后有用的列表元素往后推一格,你可以理解为列表此时扩张,于此同时我们将k+1赋值到k,k大于原本k一位,再删除k原本存在的一位元素后,最后将插入新元素的k重新排序到列表原k位置。(所以其实k值是变化的,循环时k及以后的序列号要大于1,就在于列表的根本性质是栈的推进推出。)
::-1也是一样的,只不过此时改成了a【k+1】=a【k】,改成了向后赋值,但本来存在的有用的值也需要向后推进,所以腾出一个空位,并予以空位值。
第2个回答  推荐于2017-04-23
切片[::-1]是将列表或字符倒过来,你可以看下我之前的例子。

http://zhidao.baidu.com/question/680546440445879012.html?oldq=1

或体的内容你可以找一本叫python核心编程的书,书上对切片很详细的做了介绍,有pdf版本的。本回答被提问者采纳
第3个回答  2017-10-06

切片

[开始:结束:步进]

步进默认为 1

In [19]: string = 'python'
In [20]: string[::1]    # 步进为1
Out[20]: 'python'
In [21]: string[::2]    # 步进为2, [0, 0+2, 0+2+2...]
Out[21]: 'pto'


相似回答