Python noob在这里。给定列表中的索引i,是否有任何内置方法可以找到它的负索引。目前我正在使用:
neg_index = i - len(list)
答案 0 :(得分:4)
您提出的解决方案可以直接从负索引的定义派生:python隐式添加len(list)
以传递负索引。所以,没关系。
但是你需要找到负面指数有点奇怪。我认为这项任务并不典型。
答案 1 :(得分:1)
您的解决方案是正确的,没有更好的方法可以做到这一点。
答案 2 :(得分:0)
如果你不喜欢它的样子,你可以为你做一个功能。
如果您对功能了解不多,可以找到关于它们的教程here
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