(3) 配列(リスト)
複数のデータを集めて一まとめにして処理するものとして、Pythonではリスト(他の処理系では「配列」と呼ぶことが多い)が用意されています。リスト内の各データを要素と呼び、番号(添字、またはインデクスと言います)を付けて処理します。リストのデータは、[ 1, 2, 3]のように複数のデータを左カギ括弧([)と右カギ括弧(])で挟んで表します。
abc = [ 1, 2, 3 ]
とすると、リスト型の変数abcが定義されます。添字は0から始まります。1番目のデータを使う時にはabc[0](数値1が入っている),2番目のデータを使う時にはabc[1](数値2が入っている)とします。データが入っていないのに、abc[5]を参照するとエラーになります。
リストの中に異なる型のデータを混在させることができます。
リストの中に異なる型のデータを混在させることができます。
abc = [ 1, ‘横浜市‘, 1.35 ]
とすると、abc[0]には整数値1が入り、abc[1]には文字列‘横浜市‘が入り、abc[2]には実数値1.35が入ります。
関数をリストの要素とすることもできます。
関数をリストの要素とすることもできます。
def fun1():
pass
return
return
def func2():
pass
return
return
def func3():
pass
return
return
func_list[ func1, func2, func3 ]
としておくと、func_list[0]()として、関数func1()を呼び出すことができます。
リストには、1列に並んだデータ(一次元配列と言います)を格納できるだけでなく、要素をリストにすることにより、平面的に並んだデータ(二次元配列と言います)を格納することもできます。
リストには、1列に並んだデータ(一次元配列と言います)を格納できるだけでなく、要素をリストにすることにより、平面的に並んだデータ(二次元配列と言います)を格納することもできます。
abc = [ [ 1, ‘横浜市‘, 1.35 ], [ 2, ‘鎌倉市‘, 2.17 ], [ 3, ‘川崎市‘, 4.21 ] ]
のようにすると、リストのリストが変数abcに入ります。二次元配列の場合、2番目のリストの3番目のデータ(実数値2.17が入っている)を参照するときには、2つ添字をつけて、abc[1][2]のように参照します。abc[1]には、リスト[ 2, ‘鎌倉市‘, 2.17 ]が入っていて、このリストの3番目のデータを参照するという意味で、abc[1][2]として、実数値データ2.17を取り出します。もちろん、三次元配列、四次元配列も可能です。
リストでは、代入により各要素の内容の変更が可能で、要素数の増減を行う関数も用意されています。
なお、複数のリストを初期化しようとして
リストでは、代入により各要素の内容の変更が可能で、要素数の増減を行う関数も用意されています。
なお、複数のリストを初期化しようとして
abc, d, ef = []
としてしまうと、1つの同一のリストにabc,d,efと3つの異なる変数名をつけるだけなので注意してください。
ef[2] = 3
とすると、abc[2]もd[2]も3になってしまいます。3つの別々のリストとして初期化する場合には、
abc, d, ef = [], [], []
とします。
(4) タプル(tuple)
タプルのリストと同様に複数のデータを一まとめにして処理するものです。
abc = 1, ‘横浜市‘, 1.35
とすると、整数値1と文字列‘横浜市‘と実数値1.35を一まとめにして扱えます。但し、プログラムが読みにくくなるので、通常は、以下のように、データを左括弧(と右括弧)で挟んで表します。
abc = ( 1, ‘横浜市‘, 1.35 )
abc[1]には文字列‘横浜市‘,abc[2]には実数値1.35が入っています。
但し、タプルでは、代入によるデータの書き換え、要素数の増減を行うことができません。変更されることのないデータを格納するのにタプルを用い、データを動的に変更する場合にはリストを用います。
但し、タプルでは、代入によるデータの書き換え、要素数の増減を行うことができません。変更されることのないデータを格納するのにタプルを用い、データを動的に変更する場合にはリストを用います。
(5) 辞書
リストでは、1列に並んだデータの中の1つを参照するのに、添字に番号を入れて参照します。番号を指定するのではなく、キーと呼ばれる文字列を指定してデータを参照するのが辞書です。但し、キーとなる文字列は変更できません。キーは、変更不可能なデータであれば、文字列以外のタプルや定数を用いることもできます。辞書データは、左中括弧{と右中括弧}で挟んで表します。
abc = { ‘名前‘ : ‘井上三郎‘, ‘年齢‘ : 34 }
とすると、abcに辞書データが入ります。名前を参照したい場合には、abc[‘名前‘]とすると、‘井上三郎‘という文字列を参照することができます。abc[‘年齢‘]とすると、整数値34を参照することができます。キーを指定してデータを取り出すことはできますが、キーとなる文字列を取り出すことはできません。
abc[‘住所‘] = ‘東京都武蔵野市一番町1234番地‘
とすると、‘住所‘というキーに対して、‘東京都武蔵野市一番町1234番地‘という文字列が入ります。この代入操作で、データの変更もできます。