3

スライスの場合に負の値をステップに入れるとどうなるかを理解するのに問題があります。

[::-1]は文字列を逆にすることを知っています。逆にするために開始と停止に割り当てる値を知りたいです。

文字列に終わるのは0だと思っていました。そして試した

f="foobar"

f[0:5:-1]--->それは私に何の出力も与えません。なぜ?

そして、私は開始を読んだことがあります。停止を通過してはいけません。負のステップ値の場合にも当てはまりますか?

誰でも私の疑問を解消するのを手伝ってもらえますか?

4

2 に答える 2

4

f[0:5:-1]が出力を生成しない理由は、0 から開始し、逆方向に 5 までカウントしようとしているためです。これは不可能であるため、Python は空の文字列を返します。

f[5:0:-1]代わりに、文字列 を返す が必要です"raboo"

文字列に文字が含まれていないことに注意してくださいf。これを行うにf[5::-1]は、文字列を返す が必要です"raboof"


あなたはまた尋ねました:

私は開始を読みましたが、停止を通過してはなりません。負のステップ値の場合にも当てはまりますか?

いいえ、そうではありません。通常、start値は値を渡す必要はありませんがstop、ステップが正の場合のみです。ステップが負の場合は、逆になります。start必要に応じて、値よりも高くする必要がありますstop

于 2013-09-27T07:02:40.900 に答える
0

次のように考えることができます。

f[0:5]0開始位置と 5-1終了位置です。

f[0:5:-1]5開始位置と0+1終了位置です。

スライスでは、開始位置は終了位置より低くなければなりません。そうでない場合、結果は空の文字列になります。したがってf[0:5:-1]、空の文字列を返します。

于 2013-09-27T07:23:00.887 に答える