next up previous
Next: About this document ... Up: プログラミング入門 Previous: モジュール

   
リスト, 文字列の連結とスライス

Python におけるリストの扱い方などについて, もう少し補足しておこう. リストの扱いは文字列の扱いと共通している点が多いので, ここでは 文字列についても一緒に述べる.

最初に文字列について説明していなかった点について述べよう. 文字列を, 文字が並んだものと思うと, 項目が並んでいるリストと 近いことがわかるであろう. 項目番号による指定もリストと同じ にできる:

>>> word = 'Helle'
>>> word[0]
'H'
>>> word[1]
'e'
>>> word[4]
'e'
>>> word[3]
'l'

二つのリストを連結させるには + を使う.

>>> a = [1, 2, 3]
>>> b = [-1.1, 5, 0]
>>> c = a + b
>>> c   
[1, 2, 3, -1.1, 5, 0]
文字列も同様である.
>>> word1 = 'Kon'
>>> word2 = 'NichHa'
>>> word = word1 + word2
>>> word
'KonNichHa'

リストや文字列の一部を切り取って(スライス)使うことができる. 第 i 項目から第 j - 1 項目まで切り取るときには, 変数名に [i:j] をつける. 最初の数字を省略すると, 最初の項目から切り取る ことを意味し, 最後の数字を省略すると最後の項目まで切り取ることを 意味する:

>>> a = [1, 2, 3, 4, 5]
>>> print a[1:3]
[2, 3]
>>> word = 'Hello world.'
>>> print word[2:7]
llo w
>>> print word[6:]
world.
>>> print word[:11]
Hello world

スライスでは, 添字に負の数を使うことによって, 右から数えた番号 を指定することができる:

>>> a = [1, 2, 3, 4, 5]
>>> print a[-3:-1]
[3, 4]
>>> word = 'Hello world.'
>>> print word[-11:7]
ello w
>>> print word[:-1]
Hello world
添字の数字は項目と項目のの番号だと思うと理解しやすい:
   0   1   2   3   4   5     6   7   8   9   10   11  12
   ↓   ↓   ↓   ↓   ↓   ↓     ↓   ↓   ↓   ↓   ↓   ↓  ↓ 
   | H | e | l | l | o |空白 | w | o | r | l | d | .| 
   ↑   ↑   ↑   ↑   ↑   ↑     ↑   ↑   ↑   ↑   ↑   ↑
   -12  -11 -10   -9   -8   -7     -6   -5   -4   -3   -2   -1



Toru Sasaki
2000-08-30