【python】文字列・タプル・リストの一部を切り出すスライスの使いかた

2020年5月17日

スライスのやり方

スライスという機能を使用すると文字列や配列を切り出すことができます。
文字列参照時はコロン(:)を使用するとで切り出す場所を指定できます。
文字列・リスト(配列)・タプルでスライスが可能ですが、方法と結果は全て同じです。

    slice = "0123456"
    tuple_slice = ( "T0000", "T0001", "T0002", "T0003", "T0004", "T0005", "T0006")
    list_slice = [ "L0000", "L0001", "L0002", "L0003", "L0004","L0005", "L0006" ]

切り出す範囲を1から3と指定します。
左に1、真ん中にコロン(:)、右に3と記入。
この時はインデックスの1から2までが切り出せます。

    print( slice[1:3] )          #12
    print( tuple_slice[1:3] )    #('T0001', 'T0002')
    print( list_slice[1:3] )     #['L0001', 'L0002']

先ほどと変わり順序を反転させて参照してみます。
インデックスを3から1を指定していますが何も切り出すことはできません。
右側のインデックスが大きくなければ指定はできません。

    print( slice[3:1] )          #
    print( tuple_slice[3:1] )    #()
    print( list_slice[3:1] )     #[]

左側を3、右側を指定しない場合は4つ目から後ろを全て切り出します。

    print( slice[3:] )           #3456
    print( tuple_slice[3:] )     #('T0003', 'T0004', 'T0005', 'T0006')
    print( list_slice[3:] )      #['L0003', 'L0004', 'L0005', 'L0006']

左側の数値を指定しない場合はそれ以前の全て切り出すとなります。
左側を指定せず、右側を3と指定した場合は先頭から3つ目までを切り出します。

    print( slice[:3] )           #012
    print( tuple_slice[:3] )     #('T0000', 'T0001', 'T0002')
    print( list_slice[:3] )      #['L0000', 'L0001', 'L0002']

負の数を指定した時は後ろから数えて文字を指定できます。
-3を指定した場合は後ろから3文字目となります。

    print( slice[-3] )           #4
    print( tuple_slice[-3] )     #T0004
    print( list_slice[-3] )      #L0004

負の数でもスライスは使用できます。
右側だけ-3を指定した場合は先頭から後ろから3文字目を切り出します。

    print( slice[:-3] )          #0123
    print( tuple_slice[:-3] )    #('T0000', 'T0001', 'T0002', 'T0003')
    print( list_slice[:-3] )     #['L0000', 'L0001', 'L0002', 'L0003']

左側だけ-3を指定した場合は後ろから3文字目から最後までを切り出します。

    print( slice[-3:] )          #456
    print( tuple_slice[-3:] )    #('T0004', 'T0005', 'T0006')
    print( list_slice[-3:] )     #['L0004', 'L0005', 'L0006']

左側を-4,右側を-2と指定します。
後ろから4文字目から後ろから2文字目を指定して切り出します。

    print( slice[-4:-2] )   #34
    print( tuple_slice[-4:-2] )  #('T0003', 'T0004')
    print( list_slice[-4:-2] )   #['L0003', 'L0004']

ソースコードはこちらから

このページで紹介している記事のソースコードの販売を行っています。
python基本を押さえたソースコードを収録しています。
購入頂いたソースコードは商用利用OKになります。

ソースコードの販売はこちら