Pythonドキュメントからdocs.python.org/tutorial/introduction.html#strings:
スライスインデックスには便利なデフォルトがあります。省略された最初のインデックスはデフォルトでゼロになり、省略された2番目のインデックスはデフォルトでスライスされる文字列のサイズになります。
標準的なケースでは、これは非常に理にかなっています。
>>> s = 'mystring'
>>> s[1:]
'ystring'
>>> s[:3]
'mys'
>>> s[:-2]
'mystri'
>>> s[-1:]
'g'
>>>
ここまでは順調ですね。ただし、負のステップ値を使用すると、わずかに異なるデフォルトが示唆されるようです。
>>> s[:3:-1]
'gnir'
>>> s[0:3:-1]
''
>>> s[2::-1]
'sym'
結構です。おそらくステップが負の場合、デフォルトは逆になります。省略された最初のインデックスはデフォルトでスライスされる文字列のサイズになり、省略された2番目のインデックスはデフォルトでゼロになります。
>>> s[len(s):3:-1]
'gnir'
よさそうだ!
>>> s[2:0:-1]
'sy'
おっと。その'm'を逃した。
次に、みんなのお気に入りの文字列逆ステートメントがあります。そしてそれは甘いです:
>>> s[::-1]
'gnirtsym'
でも:
>>> s[len(s):0:-1]
'gnirtsy'
スライスに、スライスの2番目のインデックスの値が含まれることはありません。私はそれをそのようにすることの一貫性を見ることができます。
そのため、さまざまな順列でのスライスの動作を理解し始めていると思います。ただし、2番目のインデックスはやや特殊であり、負のステップの2番目のインデックスのデフォルト値は実際には数値で定義できないように感じます。
提供された例を説明できるデフォルトのスライスインデックスを簡潔に定義できる人はいますか?ドキュメントは大きなプラスになります。