Python slice() 組み込み関数

Python 3 ドキュメントより

range(start, stop, step) によって指定されたインデックスのセットを表す slice オブジェクトを返します。start および step 引数は None でデフォルトされます。Slice オブジェクトは、引数の値(またはそのデフォルト値)を単に返す、読み取り専用のデータ属性 start、stop、および step を持ちます。

Introduction

Python の slice() 関数は、リスト、タプル、または文字列などのシーケンスをスライスするために使用できるスライスオブジェクトを返します。スライスオブジェクトは、startstop、および step によって指定されたインデックスのセットを表します。

Examples

furniture = ['table', 'chair', 'rack', 'shelf']

print(furniture[0:4])
print(furniture[1:3])
print(furniture[0:-1])
print(furniture[:2])
print(furniture[1:])
print(furniture[:])
['table', 'chair', 'rack', 'shelf']
['chair', 'rack']
['table', 'chair', 'rack']
['table', 'chair']
['chair', 'rack', 'shelf']
['table', 'chair', 'rack', 'shelf']

リスト全体をスライスすると、コピーが実行されます。

spam = ['cat', 'bat', 'rat', 'elephant']
spam2 = spam[:]
print(spam2)

spam.append('dog')
print(spam)
print(spam2)
['cat', 'bat', 'rat', 'elephant']
['cat', 'bat', 'rat', 'elephant', 'dog']
['cat', 'bat', 'rat', 'elephant']