Python初心者はこちら。リスト内のインデックス i を指定すると、負のインデックスを見つける組み込みの方法はありますか。現在私は使用しています:
neg_index = i - len(list)
Python初心者はこちら。リスト内のインデックス i を指定すると、負のインデックスを見つける組み込みの方法はありますか。現在私は使用しています:
neg_index = i - len(list)
あなたが提案した解決策は、負のインデックスの定義から直接導き出すことができます: python はlen(list)
、渡された負のインデックスに暗黙的に追加します。それで、大丈夫です。
しかし、負のインデックスを見つける必要があるのは少し奇妙です。このタスクは典型的ではないと思います。
あなたの解決策は正しいです。それを行うより良い方法はありません。
それを行う方法が気に入らない場合は、関数を作成してそれを行うことができます。
関数についてよくわからない場合は、ここでチュートリアルを見つけることができます
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
または、より技術的になりたくない場合は、この関数を属性として使用してクラスを作成できます。この例では、クラス「リスト」を継承しているため、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