0

Python初心者はこちら。リスト内のインデックス i を指定すると、負のインデックスを見つける組み込みの方法はありますか。現在私は使用しています:

neg_index = i - len(list)
4

3 に答える 3

4

あなたが提案した解決策は、負のインデックスの定義から直接導き出すことができます: python はlen(list)、渡された負のインデックスに暗黙的に追加します。それで、大丈夫です。

しかし、負のインデックスを見つける必要があるのは少し奇妙です。このタスクは典型的ではないと思います。

于 2012-07-20T23:38:12.860 に答える
1

あなたの解決策は正しいです。それを行うより良い方法はありません。

于 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

または、より技術的になりたくない場合は、この関数を属性として使用してクラスを作成できます。この例では、クラス「リスト」を継承しているため、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 に答える