Deep LearningPython

【Python】Pythonのリスト(配列)

Python

Pythonのリスト(配列)を紹介します。

ターミナルでPythonのinteractive mode(対話モード)を起動します。

% python
Python 3.7.7 (default, Mar 10 2020, 15:43:33) 
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
<div class="content">
  <p>aのリストのアクセスはa[0]になります。</p>
 <p>[  ]の中にある数をインデックス(添字)と呼びます。</p>
</div>
>>> a = [1,2,3,4,5] #リスト(配列)作成
>>> print(a) # リスト(配列)の中身を出力
[1, 2, 3, 4, 5]
>>> len(a)   #リストの長さを取得
5
>>> a[0]   #最初の要素にアクセス
1
>>> a[3]
4
>>> a[5] #エラーの場合
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> 
>>> a[4] = 30  #値の代入
>>> print(a)
[1, 2, 3, 4, 30]
>>> 

Pythonのリストにはスライジング(slicing)という記方が用意されてます。直へのアクセスだけではなくリストのサブリスト(部分リスト)にアクセスすることが可能です。

>>> print(a)
[1, 2, 3, 4, 30]
>>> a[0:2]            #インデックスの0番から2番目(2番は含まれてない)まで取得
[1, 2]
>>> a[1:]             #インデックスの1番から最後まで取得
[2, 3, 4, 30]
>>> a[:3]             #最初からインデックスの3番目まで取得
[1, 2, 3]
>>> a[:-1]      #最初から最後の要素1つ前まで取得
[1, 2, 3, 4]
>>> a[:-3]      #最初から最後の要素3つ前まで取得
[1, 2]

リストのスライシングはa[0:2]のように書きます。

a[0:2]インディックスの0番目から2番目の一つ手前の要素までが取得されます。

a[0:-3]使うとインディックスの最後から-3番目までが取得されます。