2

我有一个可变长度的字符串,我知道索引位置是 25。由于它的长度是可变的(>= 25),我需要一种方法来定位同一位置的负索引,以便于数据操作。

你知道如何做到这一点吗?

4

2 回答 2

2

我不确定这是否是您所追求的,但是如果您有字符串的索引,则“负”索引只是字符串长度减去索引的负数:

In [1]: import string

In [2]: s = string.ascii_letters

In [3]: s
Out[3]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

In [4]: s[25]
Out[4]: 'z'

In [5]: -(len(s)-25)
Out[5]: -27

In [6]: s[-(len(s)-25)]
Out[6]: 'z'

或使用评论中的示例:

In [7]: s = range(1, 7)

In [8]: s[4]
Out[8]: 5

In [9]: neg = -(len(s)-4) # Here you would replace 4 with your index

In [10]: s[neg]
Out[10]: 5
于 2012-12-22T04:43:27.663 回答
1

让我们使用具有以下值的“列表”:“1”、“2”、“3”、“4”、“5”、“6”

获取任何值的负索引的步骤:

第1步。获取值的“normal_index”。例如,值“4”的正常索引是 3。

第2步。获取“列表”的“计数”。在我们的示例中,“list_count”为 5。

第三步。获取请求值的负索引。负索引 = (normal_index - list_count) - 1。即 -3。

于 2012-12-22T06:48:29.657 回答