文字列を逆にする特定のスライス操作が機能しない理由を誰かが説明できるかもしれません。私が理解していないスライスについて何かがあるに違いありません。基本操作:s[開始:終了:ステップ]
与えられた
s='abcd'
この文字列を逆にするには、デフォルト値を使用して実行できます
s[::-1]
また
s[-1::-1]
それらは問題ありませんが、なぜそうではないのですか
s[-1:-1:-1]
作業して、文字列全体を逆にしてくれますか? 文字列の最後の文字 (-1) から開始する必要があり、ステップサイズは -1 です。-1、つまりインデックス 0 の前に実行する必要があります。代わりに、'' を取得します。
for i in xrange(3, -2, -1):
print 's[-1:%d:-1] => ' %i,
print s[-1:i:-1]
収量:
s[-1:3:-1] => # didn't expect any output
s[-1:2:-1] => d
s[-1:1:-1] => dc
s[-1:0:-1] => dcb
s[-1:-1:-1] => # shouldn't this be 'dcba'?
ここで何が欠けていますか?
(文字列の反転に関する投稿をたくさん見ましたが、この特定の項目がどこかで説明されていれば、見逃していました)