
for
ループのスライス
4
オブジェクト
3
オブジェクト
2
オブジェクト
1
オブジェクト
0
オブジェクト
リスト
Marvin
のスライスの詳細
先ほどのプログラムのスライスを詳しく調べてみましょう。このテクニックは
Python
プログラムに
数多く見られます。以下にスライスコードの各行を再度示し、何が起こっているかを図で表します。
3
スライスを調べる前に、このプログラムは変数(
paranoid_android
)への文字列の代入とリ
スト(
letters
)への変換から始まっていることに注意してください。
paranoid_android = "Marvin, the Paranoid Android"
letters = list(paranoid_android)
marvin2.py
プログラムのスライスを調べ、何を作成するかを確認します。インタプリタが
スライス指定を検出すると、
letters
からスライスしたオブジェクトを抽出してそのオブジェ
クトのコピーを
for
ループに返します。元の
letters
リストはスライスの影響を受けません。
最初のスライスは、リストの最初から
6
番目(インデックス
5
)のオブジェクトまで(このオブ
ジェクトは含まない)を抽出します。
for char in letters[:6]:
print('\t', char)
2
番目のスライスは、
letters
リストの末尾から
7
番目(インデックス
-7
)から
letters
の末
尾までを抽出します。
for char in letters[-7:]: ...