スライスを使った部分リストの取得

広告

リストでも文字列と同じくスライスを使うことが出来ます。スライスの基本的な使い方については「スライスを使った部分文字列の取得」を参照して下さい。

リストオブジェクトに対しスライスを使って部分リストを取得するには次の書式を使います。

リストオブジェクト[開始インデックス:終了インデックス]

具体的には次のように記述します。

list = ["A", "B", "C", "D", "E"]

slice1 = list[1:2]     # ["B"]
slice2 = list[1:-1]    # ["B", "C", "D"]
slice3 = list[1:]      # ["B", "C", "D", "E"]
slice4 = list[:2]      # ["A", "B"]
slice5 = list[:]       # ["A", "B", "C", "D", "E"]

スライスを使って取得したオブジェクトもリストオブジェクトです。例えばスライスによって取得した要素の数が1つであっても、要素数が1つのリストオブジェクトとなりますので注意して下さい。要素が参照しているオブジェクトを取得したい場合は、インデックスを指定して要素を取得する必要があります。

サンプルコード

では実際に試してみます。

#coding: UTF-8

list = ["A", "B", "C", "D", "E"]
print u"対象リスト", list

print "[1:2]  ", list[1:2]
print "[1:-1] ", list[1:-1]
print "[1:]   ", list[1:]
print "[:2]   ", list[:2]
print "[:]    ", list[:]

上記を「test3-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。

スライスを使った部分リストの取得

( Written by Tatsuo Ikura )