注目キーワード

【Python】配列の基本操作(宣言・初期化・追加・削除)

Pythonのプログラムを書いているときに配列の操作でよく調べ物をするので、まとめました。

この記事では、配列の基本的な操作(宣言、初期化、要素の追加・削除)についてサンプルプログラムを紹介しながら説明していきたいと思います。

対象レベル

Pythonの環境設定が整っており、Pythonの基本構文が理解出来ること。

詳しくは「【Python入門】〜初級編〜環境構築・基本構文まとめ」にまとめてあります。興味のある方はご覧ください。

サンプルソースを読むうえで理解しておきたいこと

基本的にこの章の内容は読み飛ばしてOKです。サンプルソースでわからないところがあれば参照してみてください。

宣言と初期化

配列の宣言

配列の宣言方法は「変数名= []」で宣言できます。以下のコードの場合、「list」という変数を配列で定義しています。

list = []

配列の初期化

次は初期化です。あらかじめ値が設定されている状態で定義します。初期化の方法は[]の中に値をカンマ区切りで設定しましょう。

以下が実行結果です。正しく初期化されているので設定された内容が出力されています。

配列初期化サンプル実行結果

配列の初期化 (rangeを使って0~9まで)

「range」関数を使うことによって、コンパクトに配列を初期化することもできます。

sample_list_init_range_1.py実行結果

配列の初期化 (rangeを使って5~20まで5個飛ばし(5,10,15,20))

「range」関数の初期値、終了値、間隔を指定すれば、「5,10,15,20」と言った、等間隔の配列も初期化できます。

sample_list_init_range_2.py実行結果

配列から任意の値を取得する

配列から要素を取得する場合はインデックスを指定します。注意するところは配列の番号は0から始まるので一番最初の要素を取得したい場合はインデックスに0を指定しましょう。出力結果を見ると0番目〜3番目の値が正しく取得できています。

配列の要素を取得するサンプル実行結果

要素数以上のインデックスを指定すると

要素数以上のインデックスを指定すると以下のエラーが出力されるので気を付けましょう。

IndexError: list index out of range

以下のソースは「list_get_element.py」のソースの7行目を意図的に変更しています。

見比べると「list[3]」から「list[4]」になっており、5個目の要素にアクセスしようとしています。しかし、初期化では5個目に値は設定されていないのでエラーが発生します。

list = [1, 2, 3, 4]print("0番目:" + str(list[0]))print("1番目:" + str(list[1]))print("2番目:" + str(list[2]))print("3番目:" + str(list[4]))
実行エラー「 list index out of range 」

要素の追加

リストの後ろに要素を追加する場合

リストの後ろに要素を追加する場合はappendを使います。この処理はリストの後ろ側に指定した値を追加します。

実行結果は以下になります。5行目のappendでlistの後ろに5が追加されました。

appendのサンプル実行結果

リストの前に要素を追加する場合

リストの前に要素を追加する場合は+演算子を使います。前に追加するというよりは、配列同士の結合といった感じですね。6行目の「list4 = list1 + list2 + list3」で配列同士を結合します。

list4 = list1 + list2 + list3
配列同士の結合

任意の場所に要素を追加する場合

配列の任意の箇所に要素を追加したい場合は、「insert」を使います。insertの使い方は「配列.insert(インデックス, 追加したい値)」です。

スポンサーリンク

配列.insert(インデックス, 追加したい値)

つまり、今回のサンプルソースでは、2番目のインデックスに6を追加します。insert前の2番目は「 8 」が入っている場所なので「 4 」と「 8 」の間に「6」が挿入されます。

配列への要素の挿入

要素の削除

配列の要素を削除する場合は、インデックスを指定する方法と値を指定する方法があります。

インデックスを指定する場合

インデックスを指定する場合は「del」を使います。使い方は簡単で「del 配列[インデックス]」で指定の要素を削除することが出来ます。したのサンプルソースでは、配列の1番目に格納されている「4」を削除しています。

del 配列[インデックス]
インデックスの指定で配列の要素を削除

値を指定する場合

次に、値を直接指定して削除する場合です。削除するには「remove」を使います。使い方は「配列.remove(削除したい値)」で下のサンプルソースでは、「 4 」を削除しています。

配列.remove(削除したい値)

「remove」を使うにあたって一つ注意する点があります。この処理は配列の要素を検索し、指定した値が一番最初に一致した箇所を削除するので指定した値が複数存在する場合はループして削除するなどしましょう。下の実行結果を見ると最後の「4」が消えていないのはそのためです。

removeを使った場合の配列削除

配列の要素数を調べる

配列の要素数を調べるには「len」を使います。ループ処理などでもよく使うので覚えておきましょう。使い方は「len(配列)」で要素数が取得できます。

len(配列)
配列の要素数

おわりに

今回の記事ではPythonでの配列の基本操作(宣言・初期化・追加・削除)についてサンプルを使いながら紹介しました。

機会があれば、配列のソートや存在チェックについても書いていきたいと思います。