gpt4 book ai didi

python - 扩展切片语法实际上对负步骤有什么作用?

转载 作者:IT老高 更新时间:2023-10-28 21:12:03 25 4
gpt4 key购买 nike

python 中的扩展切片语法已向我解释为“a[n:m:k] 返回从 n 到 m 的每个第 k 个元素”。

这让我很好地了解了当 k 为正时会发生什么。但是我不知道如何将 a[n:m:k] 解释为负 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(反向)的步骤。

因此,获取了以下索引:

le-1, le-1-1, le-1-1-1  .... 1  # le is len(string)

示例:

In [24]: strs = 'foobar'

In [25]: le = len(strs)

In [26]: strs[-1:0:-1] # the first -1 is equivalent to len(strs)-1

Out[26]: 'raboo'

In [27]: strs[le-1:0:-1]
Out[27]: 'raboo'

关于python - 扩展切片语法实际上对负步骤有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14517101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com