Pythonでスライスを使ってリストの要素を抽出する方法

Pythonのスライスという機能を使えばリストから複数の要素を簡単に取り出すことができます。

リストから複数の要素を取り出す

スライスの記述方法は3通りあります。ひとつずつ紹介していきます。

指定した範囲から要素を取り出す

リスト[抽出開始位置:抽出終了位置+1]

リストの位置は0から数えます。また、抽出終了位置は取り出したい要素のインデックスの+1であることに注意してください。

例えば、配列の1番目から2番目の要素を取り出したい場合は以下のように記述します。

name_list = ["Jhon", "Mike", "Bob", "Tom", "Ken"]
print name_list[1:3] # ['Mike', 'Bob']

指定した位置から要素を取り出す

抽出の開始位置のみ記述することもできます。

リスト[抽出開始位置:]

この場合は開始位置以降のすべての要素を取り出します。

name_list = ["Jhon", "Mike", "Bob", "Tom", "Ken"]
print name_list[1:] # ['Mike', 'Bob', 'Tom', 'Ken']

指定した位置までの要素を取り出す

リストの抽出終了位置のみ記述することもできます。

リスト[:抽出終了位置+1]

この場合は0番目から指定した位置まで要素が取り出されます。

name_list = ["Jhon", "Mike", "Bob", "Tom", "Ken"]
print name_list[:3] # ['Jhon', 'Mike', 'Bob']

また、終了位置がリストの要素数より多い場合でもエラーにならず、リストの最後尾まで取り出されます。

name_list = ["Jhon", "Mike", "Bob", "Tom", "Ken"]
print name_list[:10] # ['Mike', 'Bob', 'Tom', 'Ken']