2012-03-28 6 views

答えて

12

スライシングの一般的な構文は次の3つの値startstop、またはstepのいずれかを省略することができます

a[start:stop:step] 

です。 stepを省略すると、デフォルト値は常に1になります。 startstopのデフォルト値は、対照的に、stepの符号に依存:stepstart0デフォルトとlen(a)からstop、肯定的である場合。 stepは、「リストの先頭」にlen(a) - 1stopからstartデフォルト、負の場合。

a[:5][::-1]a[0:5][4::-1]と同じである一方、そうa[:5:-1]はここa[9:5:-1]

と同じです。

(それはstepが負の場合。ストップ値は、非包括的であるので、0は「リストの先頭」とは異なるだろう明示的にstopのデフォルト値を与えることは不可能だということに注意してください。Noneを使用して与えることに相当します値はまったくありません)。

1

a[:5][::-1]プログラムは、まずデータセットの第五要素までの要素を取り、その後、(最後の1から始まる一つ一つの要素を取る)、それらを逆にすべきであるということであると言います。

これとは対照的に、a[:5:-1]では、最後の要素から始まる5番目の要素まで(最後の要素から始まるすべての要素を取ります)、要素を取得する必要があります。

0

[:5]はインデックス0から4までの配列を返し、2番目の操作として負のインデックスを作成します。 a [:5:-1]は元の配列を負の値にします。

関連する問題