いつもPythonのスライス操作の引数を省略することにつながると考え:理解ニシキヘビは、([:: - 1])スライスを逆
- 開始=
0
- 端=
len(lst)
- ステップ=
1
とすぐステップは「逆スライス」[::-1]
、オムのように、負であるとしてステップが肯定的である場合はtrueを保持しているが、
ittingに/最終結果を開始:
- 開始=
len(lst)-1
- 最後は=
None
は、これは特殊なケースである、または私は何かが足りないのですか?
いつもPythonのスライス操作の引数を省略することにつながると考え:理解ニシキヘビは、([:: - 1])スライスを逆
0
len(lst)
1
とすぐステップは「逆スライス」[::-1]
、オムのように、負であるとしてステップが肯定的である場合はtrueを保持しているが、ittingに/最終結果を開始:
len(lst)-1
None
は、これは特殊なケースである、または私は何かが足りないのですか?
デフォルトはです。常にNone
です。どのように3つの値に対してNone
を扱うかを決めるのはタイプに依存します。この場合、list
オブジェクトはslice(None, None, -1)
オブジェクトに渡されます。 場合、私は [...]
s[i:j:k]
5. :は(リストオブジェクトを含む)Pythonのデフォルトのシーケンス型はこれらの解釈方法についてはsequence types documentationに操作テーブルに脚注5を参照してください。またはjが省略されているか、または
None
である場合、それらは「終了」値になります(終了はkの符号に依存します)。
したがって、デフォルト値はステップ値の符号に依存します。負の場合、端が逆になります。 [::-1]
の場合、最終値は、ステップが負であるため、それぞれlen(s) - 1
と-1
(絶対的ではなく、相対的ではありません)です。
なぜあなたは-1といいますか? – wim
@wim:yes、最終値は*スライス*に含まれていないためです。 '0'に設定すると、その最初の要素を取得しません。 –
@wim: 's [len(s) - 1:-1:-1]'を使用した場合、 'j'の値は長さに対して相対的に取られ、動作しません。 'None'のみ、または空のままにしておくと、最初の要素を含めることができます。 –