(最終更新月:2023年6月)
✔当記事は以下のような方を対象にしています。
「Pythonの配列をどのように初期化すればよいか知りたい」
「Pythonで配列を効率的に初期化する方法を探している」
「Pythonで配列を初期化する実例が見たい」
✔当記事で伝えるポイント
- Pythonでの配列初期化の基本
- 配列の初期化方法とその応用
- Pythonの配列初期化に関する実例
この記事では、Pythonでの配列初期化の基本から、さまざまな初期化方法や応用について具体的なコードとともに丁寧に解説しています。
ぜひ最後までご覧ください。
Python配列(リスト)とは
まずは、「Python配列(リスト)」について詳しく説明していきます。
Pythonの配列は他のプログラミング言語と比較しても独特な特性を持ち、理解しておくことでPythonプログラミングがよりスムーズになるでしょう。
- 配列(リスト)の基本概念
- Python配列(リスト)と他言語の配列の違い
配列(リスト)の基本概念
配列(Pythonではリストと呼ばれます)は、複数の値をひとつの変数として扱うためのデータ構造。
値はインデックス(整数)によってアクセスでき、0から始まります。
例えば最初の要素にアクセスするにはインデックス0を、2番目の要素にアクセスするにはインデックス1を指定するのです。
sports = ['soccer', 'basketball', 'tennis']
print(sports[0]) # Output: 'soccer'
print(sports[1]) # Output: 'basketball'
print(sports[2]) # Output: 'tennis'
また、リストはミュータブル(変更可能)であり、要素の追加、削除、置換が可能です。
Python配列(リスト)と他言語の配列の違い
Pythonの配列(リスト)は他の言語の配列と比べて一部の特性が異なります。
最大の違いは、Pythonのリストは異なる型の要素を一つのリスト内に格納できる点です。
たとえば、整数、浮動小数点数、文字列を一つのリストに格納することが可能です。
また、リスト自体を要素として格納することも可能で、これにより多次元の配列を表現することも可能です。
mixed_list = [1, 2.5, 'apple', True]
print(mixed_list) # Output: [1, 2.5, 'apple', True]
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list) # Output: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Pythonでの配列(リスト)の初期化方法
こちらでは、Pythonで配列(リスト)を初期化するさまざまな方法について詳しく説明します。
リストの初期化はPythonプログラミングの基礎となり、それぞれの初期化方法はその後のリスト操作に影響を与えます。
- 空の配列(リスト)を作成する
- list関数を利用した初期化方法
- リスト内包表記による初期化方法
- 二次元配列(リストのリスト)の初期化と注意点
- 任意の値・要素数を使って初期化する方法
空の配列(リスト)を作成する
Pythonで空のリストを初期化する最もシンプルな方法は、以下のようにブラケット([])を使用することです。
empty_list = []
この方法では、新たに要素を追加する際にappendメソッドを使用します。
empty_list.append('新たな要素')
list関数を利用した初期化方法
list関数を利用すると、ほかのデータ型をリストに変換可能です。
list(他データ型のオブジェクト)
文字列を一文字ずつの要素を持つリストに変換されます。
str_list = list('Python')
これにより、「P」「y」「t」「h」「o」「n」を要素とするリストが生成されます。
リスト内包表記による初期化方法
Pythonでは「リスト内包表記」を用いて、コードを簡潔に書けます。
リストを初期化することも可能です。
以下は、0から9までの整数を要素とするリストを初期化する例です。
num_list = [i for i in range(10)]
二次元配列(リストのリスト)の初期化と注意点
Pythonでは、リストのリストとして二次元配列を表現することが可能です。
初期化は以下のようにおこないます。
matrix = [[0 for _ in range(5)] for _ in range(5)]
ここで注意すべき点は、内部のリストを変更すると、それが参照されているすべてのリストが影響を受けるという点です。
したがって、リストのリストを作成する際は新しいリストを明示的に作成するようにしましょう。
任意の値・要素数を使って初期化する方法
特定の値でリストを初期化したい場合や、特定の要素数のリストが必要な場合には、以下のように記述します。
n = 10 # 要素数
value = 'x' # 初期化する値
list_n = [value] * n
これにより、’x’の値を10回持つリストが作成されます。
そのほかのデータ構造(タプル、配列array型)の初期化
次に、Pythonでよく用いられるその他のデータ構造、具体的にはタプルと配列array型の初期化方法についてみていきましょう。
- タプルの初期化方法
- 配列array型の初期化方法
タプルの初期化方法
タプルは不変(イミュータブル)なシーケンス型で、一度定義するとその内容を変更できません。
タプルは通常、カッコ(())を用いて定義します。
例えば、次のように記述します。
my_tuple = (1, 2, 3)
ただし、カッコは省略も可能。
my_tuple = 1, 2, 3
配列array型の初期化方法
Pythonには、高性能な数値計算をするための配列型(array)も提供されています。
array型は、同じデータ型を持つ値の配列を効率的に格納・処理できます。
初期化するには、まずarrayモジュールをインポートし、その後array関数を使用しましょう。
import array
my_array = array.array('i', [1, 2, 3, 4])
上記の例では、’i’という型コードを指定して整数の配列を作成しています。
まとめ
当記事では、Pythonの配列(リスト)初期化について学習してきました。
Pythonでの配列(リスト)の初期化は、プログラムの効率性や可読性に大きく影響します。
さまざまな初期化方法を理解し、適切な方法を選択することで、コードのパフォーマンスを向上させられます。
初心者であれば、各種のリスト操作を自身で試し、それらがどのように動作するかを理解することをおすすめします。
経験者であれば、より複雑なデータ構造やアルゴリズムに取り組む前に、リスト操作のスキルを再確認することも有益です。