Python入門から応用までの学習サイト


スライス

Pythonではスライスと呼ばれる表記方法で、シーケンスから範囲を指定して要素を取得することができます。シーケンスはタプルやリスト、文字列などを示す型で、ディクショナリやセットは含まれません。

スライスは以下のような記述で開始位置、終了位置、ステップ幅を指定します。またこれらの指定は省略可能で、シーケンスの要素数に応じて適切に動作します。

sequence[<開始位置>:<終了位置>:<ステップ幅>]


たとえば次のような記述でシーケンス(ここではリスト)の要素をすべて取得することができます。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']


print test_list[:]
print test_list[::]

--実行結果--

['http', 'www', 'python', 'izm', 'com']
['http', 'www', 'python', 'izm', 'com']



開始位置を省略し、終了位置を指定することで先頭から指定位置までの要素を取得することができます。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']

print test_list[:4]

--実行結果--

['http', 'www', 'python', 'izm']


開始位置を指定し、終了位置を省略することで指定位置から末尾までの要素を取得することができます。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']

print test_list[2:]

--実行結果--

['python', 'izm', 'com']


ステップ幅を指定することで、指定数ごとの要素を取得することができます。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']

print test_list[::2]

--実行結果--

['http', 'python', 'com']


開始位置と終了位置を指定することで範囲内の要素を取得することができます。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']

print test_list[3:5]

--実行結果--

['izm', 'com']


負の数を指定することで末尾から取得することができます。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']

print test_list[-1:]   # 末尾から全ての要素
print test_list[:-1]   # 末尾まで全ての要素
print test_list[::-1]  # 末尾から全ての逆順要素

--実行結果--

['com']
['http', 'www', 'python', 'izm']
['com', 'izm', 'python', 'www', 'http']


範囲指定が要素数を超過している場合は、要素数に応じてカットされます。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']

print test_list[:999]

--実行結果--

['http', 'www', 'python', 'izm', 'com']



要素の代入における範囲指定方法も要素の取得と変わりません。

# -*- coding:utf-8 -*-


test_list = ['http', 'www', 'python', 'izm', 'com']

test_list[1:3] = ('WWW', 'PYTHON')

print test_list

--実行結果--

['http', 'WWW', 'PYTHON', 'izm', 'com']




Python
スタートブック


入門 Python 3


Effective
Python


退屈なことは
Pythonにやらせよう

 
 
 

次はコメントアウトを深く?掘り下げます!

▶基礎編:コメントアウト



確かな力が身につく
Python「超」入門




P  R