Pythonの拡張スライス構文は、「a[n:m:k] returns every kth element from n to m
」と説明されています。
これにより、kが正の場合に何を期待できるかがわかります。しかし、私はa[n:m:k]
負のkを解釈する方法に迷っています。私はそれが逆になっていることを知っていますa[::-1]
、そしてそれa[::-k]
は逆にされたaのk番目の要素を取ります。
しかし、これはk正の定義の一般化とはどのようなものでしょうか。実際にどのように定義されているのか知りたいa[n:m:k]
ので、(たとえば)理由を理解できます:
"abcd"[-1:0:-1] = "dcb"
a[n:m:-k]
シーケンスaを逆にして、nから始まり、mの前で終わる元のインデックスを持つ要素を取得していますか?このパターンは私が試したnとmの他の値に適合しないため、私はそうは思いません。しかし、これが実際にどのように定義されているのか理解できず、検索してもどこにも行き着きません。