]> Panopticon :: Python :: 文字列のスライシング

<< 1.22 長い入力行を折りたたむ | main | 来年の目標 >>

文字列のスライシング

python1_22_2.jpg

>>> s = "0123456789"
>>> s[ : ]
'0123456789'
>>> s[ 0 : 0 ]
''
>>> s[ 0 : 1 ]
'0'
>>> s[ -10 : -9 ]
'0'
>>> s[ -10 : 1 ]
'0'
>>> s[ -10 : 2 ]
'01'
>>> s[ 0 : len(s) ]
'0123456789'
>>> s[ 0 : len(s) - 1 ]
'012345678'
>>> s[ -len(s) : len(s) ]
'0123456789'

>>> s[ -len(s) : len(s) - 1 ]
'012345678'
>>> s[ len(s) : 0 : -1 ]
'987654321'
>>> s[ : : -1 ]
'9876543210'
>>> s[ len(s) - 1 : len(s) - 2 : -1 ]
'9'
>>> s[ len(s) - 1 : 0 : -1 ]
'987654321'

三つ目のインデックスを負にしたときの挙動がよくわからない。『最初からn文字を逆順で取り出す』といった操作を行うには、『n文字取り出す→逆順にする』とスライシングが二回必要なんだろうか。

>>> s[ 3 : : -1 ]
'3210'

これでいけた。逆順の時はインデックスがひとつずれるのかな。

>>> s[ 0 : : -1 ]
'0'
カテゴリ

Trackback URI

http://www.panopticon.jp/mt/mt-tb.cgi/24

Trackbacks(0)

コメントする