【问题标题】:How do you find the negative index of a position if you know the index?如果你知道索引,你如何找到一个位置的负索引?
【发布时间】:2012-12-09 14:53:51
【问题描述】:

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

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

【问题讨论】:

  • 我不太明白你在问什么。负指数是什么意思?你的意思是从字符串末尾算起的第 25 项?
  • 例如,我有一个列表'1'、'2'、'3'、'4'、'5'、'6'。 '5' 是位置索引 4,负索引是 -2。这对于很长的元素列表特别有用。

标签: list python-2.7 indexing


【解决方案1】:

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

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'

或者使用 cmets 中的示例:

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-31
      • 2010-09-07
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 2012-10-12
      相关资源
      最近更新 更多