目次
開発環境
- Python version: python 3.10.11
Pythonの配列とは
Pythonの配列とは、データを格納するためのデータ構造の一つで厳密にはリスト(list)といいます。
Pythonの公式ドキュメントではリスト (list)として定義されていますが、他のプログラミング言語での配列と同様に捉えて差支えありません。
また、1列の配列の場合は1次元配列と言い、配列の中に配列がある2列の配列の場合は2次元配列と言いますが、2列以上の配列を総じて多次元配列と言います。
公式リファレンス:
https://docs.python.org/ja/3/tutorial/introduction.html#lists
https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-and-sequences
配列の要素
配列の中の一つひとつのデータのことを要素と言います。
配列の要素数
配列の中にある要素の数を要素数と言います。
配列のインデックス
配列の中にある一つひとつの要素に割り振られている添字をインデックス番号と言います。
一つ目の要素はインデックス番号0、二つ目の要素はインデックス番号1と言ったように0から順番にインデックス番号が割り当てられます。
Pythonの配列の書き方
Pythonにおいては、リスト(List)と呼ばれるデータ構造があり、これが一般的な「配列」の代替として使われます。
リストの書き方は以下の通りです。
1 | array = ["要素1", "要素2", "要素3"] |
リストを構成する要素を「,(カンマ)」で区切り全体をかぎ括弧 [...] で囲んで記述することにより、配列を作成することができます。
Pythonの配列を操作する基本
Pythonの配列を操作するために必要な基本を解説していきます。
配列の初期化
Pythonの配列の初期化は下記のように記述します。
1 2 3 4 5 | ## リテラル表現で配列を初期化する array = [] ## list() 関数を使用で配列を初期化する array = list([]) |
リテラル表現、またはlist関数を使用することで配列を初期化することができますが、一般的にはリテラル表現を使用することが主流です。
また、上記のような状態を空の配列を作成するとも言います。
配列に要素を追加
Pythonの配列に要素を追加する場合は下記のように記述します。
1 2 3 4 5 6 7 8 9 10 | array = [] ## リストの末尾に要素を追加 array.append('要素1') ## 他のリストやイテラブルの要素をリストに追加 array.extend(['要素2', '要素3']) ## 指定した位置に要素を挿入 array.insert(1, '要素4') |
append()
メソッドは配列の末尾に要素を追加、extend()
メソッドは複数の要素を一度に追加できます。
また、insert()
メソッドは、第一引数には挿入する位置のインデックス番号、第二引数には挿入する値を指定することにより指定した位置に要素を挿入することができます。
配列の要素を更新
Pythonの配列の要素を更新する場合は下記のように記述します。
1 2 3 4 5 6 7 | array = ['要素1', '要素2', '要素3', '要素4'] ## インデックスを指定して要素を更新 array[0] = '要素の更新1' ## スライスを使用して範囲を指定して要素を更新 array[1:3] = ['要素の更新2', '要素の更新3'] |
要素を更新するためには、単一のインデックスやスライスを使用して新しい値を代入することが一般的です。
要素の更新は、配列内の特定の位置に新しい値を代入することで行います。
array[0] = '要素の更新1'
のように、単一のインデックスを指定して要素を更新できます。これは指定した位置の要素を新しい値で上書きする操作です。
また、array[1:3] = ['要素の更新2', '要素の更新3']
のようにスライスを使用して複数の要素を一度に更新することもできます。スライスを使うことで、範囲指定により部分的な配列を効率的に更新できます。
配列の要素を削除
Pythonの配列の要素を削除する場合は下記のように記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | array = ['要素1', '要素2', '要素3', '要素4'] ## del ステートメントを使用してインデックスを指定して要素を削除 del array[0] ## remove() メソッドを使用して特定の値を指定して削除 array.remove('要素3') ## pop メソッドを使用して指定したインデックスの要素を削除し取得 array.pop(1) ## スライスを使用して複数の要素を一度に削除 array[1:3] = [] |
del
ステートメント、remove()
メソッド、pop()
メソッド、そしてスライスを使用することで、効果的に要素を削除できます。
注意点として、del
ステートメントは指定したインデックスの要素を直接削除しますが、remove()
メソッドは特定の値を持つ要素を削除し、pop()
メソッドは指定したインデックスの要素を削除して取得します。
また、スライスを使用して複数の要素を一度に削除する際は、リスト内のインデックスに注意が必要です。
配列の要素を取得
Pythonの配列の要素を取得する場合は下記のように記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | array = ['要素1', '要素2', '要素3', '要素4'] ## インデックスを指定して取得 element = array[2] ## 配列の一番最後の要素を取得 element = array[-1] ## スライスを使用して範囲を指定して取得 element = array[1:3] ## pop() メソッドを使用して指定したインデックスの要素を取得し削除 element = array.pop(2) ## index() メソッドを使用して特定の値のインデックスを取得 element = array.index('要素4') ## len() 関数で配列の長さを取得する length = len(array) |
一般的にはインデックス番号を指定して要素を取得することが基本になります。
そのほかにもインデックス番号を取得したり、要素数を取得したりすることができるため、これらの方法を組み合わせて配列の要素を自由に取得することができます。
おわりに
Pythonの配列の書き方や使い方を解説してきましたが、いかがだったでしょうか。
今回、配列の操作で解説したのは一般的に使われている代表的な例をあげていきましたが、Pythonには配列のデータを操作する便利なメソッドはたくさんあります。
最初は難しいかもしれませんが、配列の基本的な使い方をマスターしていきましょう。