リスト型というのは、Pythonで非常に重要な型です。
リストは複数のデータのグループ
リスト型とは、複数のデータのグループです。
リスト型は[ ]で囲んで定義します。
例えば、
In [5]: a = [1, 2, 3, 4, 5]
In [6]: a
Out[6]: [1, 2, 3, 4, 5]
In [7]: type(a)
Out[7]: list
違う型をごちゃまぜにして入れる事もできます。
In [8]: a = [1, ‘a’, 2, ‘b’, 4]
In [9]: a
Out[9]: [1, ‘a’, 2, ‘b’, 4]
リストの要素をインデックス番号でとりだす
リストにはインデックス番号があります。
n個の要素があるリストはインデックス番号としては
0, 1, 2 ・・・ n-1
がふられます。
[要素0, 要素1, 要素2 ・・・・,要素n-1]
リストの中の要素は
リスト型の変数[要素のインデックス番号]
で取り出せます。
例えば先程の5個の要素からなるaにインデックス番号を指定して取り出すと
In [8]: a = [1, ‘a’, 2, ‘b’, 4]
In [11]: a[0]
Out[11]: 1
# 1番目の要素
In [12]: a[4]
Out[12]: 4
# 5番目の要素
となります。
aのインデックス番号は4までなので、5を入れるとエラーになります。
In [13]: a[5]
—————————————————————————
IndexError Traceback (most recent call last)
in
—-> 1 a[5]
IndexError: list index out of range
インデックスに負の番号を入れる
インデックス番号は負の記号をいれて、さかのぼって要素を指定することもできます。
[要素0, 要素1, 要素2 ・・・・,要素n-1]
は
[要素 -n, 要素 -(n-1)番目・・・, 要素 -2, 要素 -1]
とも書けます。
In [8]: a = [1, ‘a’, 2, ‘b’, 4]
In [14]: a[-1]
Out[14]: 4
In [15]: a[-5]
Out[15]: 1
です。
マイナス側にもインデックス番号を超えるとエラーが返ります。
In [16]: a[-6]
—————————————————————————
IndexError Traceback (most recent call last)
in
—-> 1 a[-6]
インデックスで指定した範囲をとりだす
これは混乱しやすいところです。
リストの要素 m から要素 n
までを取り出すには
リスト型変数[m : n + 1]
で指定します
反対に
リスト型変数[インデックス1: インデックス2]
で取り出される要素は、
インデックス1 から (インデックス2 – 1)
までです。
記号で書くと
aがリスト型のときに
a[m : n]
では、
要素 m から n-1 まで
が取り出される
取り出される個数は (n – m)個
In [21]: a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [22]: a[3: 5]
Out[22]: [3, 4]
3から (5-1)の要素が取り出されます。
a[m : n]
の
m を省略し
a[:n]とすると
始めから 要素n-1まで
n を省略し、
a[m:]とすると
要素 m から最後まで
となります。
In [21]: a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [23]: a[:4]
Out[23]: [0, 1, 2, 3]
In [24]: a[4:]
Out[24]: [4, 5, 6, 7, 8, 9]
マイナスでも使用できます。
In [25]: a[-6]
Out[25]: 4
In [26]: a[-4]
Out[26]: 6
In [27]: a[-6: -4]
Out[27]: [4, 5]
# a[-4]の要素は含まれない
- リストは複数のデータを入れたグループ
- 要素数nのリストの要素(インデックス)番号は0からn-1まで
- 要素はマイナスの番号でさかのぼって指定できる a[-1]など
- a[m : n]は要素 m から n-1 まで n-m 個の要素を取り出す
簡単なリストをつくって確認してから使用するといいでしょう。