Python 菜鸟在这里。给定列表中的索引 i ,是否有任何内置方法可以找到它的负索引。目前我正在使用:
neg_index = i - len(list)
您提出的解决方案可以直接从负索引的定义推导出来:python 隐式添加len(list)
到传递的负索引。所以,没关系。
但是你需要找到负索引有点奇怪。我认为这个任务并不典型。
Your solution is correct, there is no better way to do that.
如果你不喜欢它看起来这样做的方式,你可以创建一个函数来为你做这件事。
如果您对函数不太了解,可以在此处找到有关它们的教程
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