0

Python 菜鸟在这里。给定列表中的索引 i ,是否有任何内置方法可以找到它的负索引。目前我正在使用:

neg_index = i - len(list)
4

3 回答 3

4

您提出的解决方案可以直接从负索引的定义推导出来:python 隐式添加len(list)到传递的负索引。所以,没关系。

但是你需要找到负索引有点奇怪。我认为这个任务并不典型。

于 2012-07-20T23:38:12.860 回答
1

Your solution is correct, there is no better way to do that.

于 2012-07-20T23:41:57.003 回答
0

如果你不喜欢它看起来这样做的方式,你可以创建一个函数来为你做这件事。

如果您对函数不太了解,可以在此处找到有关它们的教程

def negIndex(array, index):
    return index - len(array)

那么你可以像这样使用它

array = [1,2,3,4,5]
index=2
print index #2
print array[index] #3

newIndex = negIndex(array, index)
print newIndex #-3
print array[newIndex] #3

或者如果你不想更技术,你可以用这个函数作为一个属性来创建一个类。在这个例子中,我们继承了类 'list',所以 negIndexClass 拥有列表类所拥有的一切,加上一个 negIndex 函数

class negIndexClass(list):
    def negIndex(self, index):
        return index - len(self)

所以这将像这样使用:

array = negIndexClass( [1,2,3,4,5] )
index=2
print index #2
print array[index] #3

newIndex = array.negIndex(index)
print newIndex #-3
print array[newIndex] #3
于 2012-07-21T03:17:00.550 回答