python中的扩展切片语法被解释为“a[n:m:k] returns every kth element from n to m
”。
这给了我一个很好的想法,当k为正时,我会期望什么。但是我不知道如何解释负k的a[n:m:k]
。我知道a[::-1]
会反转a,而a[::-k]
会占用反转a的第k个元素
但是这是对k正数定义的推广吗?我想知道a[n:m:k]
是如何定义的,这样(例如)我就能理解为什么:
"abcd"[-1:0:-1] = "dcb"
是不是a[n:m:-k]
颠倒了序列a,然后取原始索引从n开始,在m之前结束的元素?我不这么认为,因为这个模式不符合我尝试过的n和m的其他值。但我不知道这到底是怎么定义的,搜索也让我一无所获。
[-1:0:-1]
意思是:从索引len(string)-1
开始,向上移动到0
(不包括),并采取-1
(相反)的步骤。因此,将获取以下索引:
示例:
Python文档(here's the technical one;对^{} 的解释更容易理解)比简化的“every kth元素”解释更正确。切片参数被恰当地命名为
因此切片从
start
定义的位置开始,在到达stop
位置之前停止,并通过step
项从一个位置移动到下一个位置。相关问题 更多 >
编程相关推荐