リスト配列

 複数のデータを扱うときに、変数では不便に感じる場合があります。配列を使えば、複数のデータをまとめて扱うことができるようになります。配列は、変数をまとめて管理することができます。

 例えば、10人分のテストの点数の合計点、平均点、最大点、最低点などを求めるプログラムを作るとします。10人分の点数を変数に記憶させて扱おうとする場合10個の変数を用意しなければなりません。配列なら10人分の点数をまとめて扱うことができます。

複数の変数のイメージ
複数の変数のイメージ

配列のイメージ
配列のイメージ

 Pythonでは、いくつかの種類の配列を扱うことができます。ここでは、リスト配列を見てみましょう。

■ 空のリスト配列の作成

 要素が空のリスト配列は次のように用意します。

空要素のリスト配列作成の書式
リスト配列名 = []

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arraytest1.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #空要素のリスト配列を用意する
  2. fruits = []
  3. #リスト配列の内容を表示する
  4. print(fruits)

○ 実行結果

[]

○ 解説

 2行目で、[]を使ってリスト配列を指定しています。5行目で、リスト配列の中身を表示しています。今回は要素が空なので、「[]」と表示されます。


■ リスト配列の初期化

 配列は、リスト配列の用意と同時にデータの代入をすることができます。これを初期化といいます。

リスト配列初期化の書式
リスト配列名 = [値1, 値2, ]

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arraytest2.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. fruits = ['りんご', 'みかん']
  3. #リスト配列の内容を表示する
  4. print(fruits)

○ 実行結果

['りんご', 'みかん']

○ 解説

 2行目で、リスト配列の初期化をしています。次の図のようにインデックス番号「0」に「りんご」が、インデックス番号「1」に「みかん」が格納されたリスト配列が用意されます。

リスト配列の初期化
リスト配列の初期化


■ リスト配列の要素に代入

 リスト配列を構成する一つ一つの変数は要素と呼ばれます。また要素にはインデックス番号が割り当てられます。インデックス番号(添字とも言う)は0から指定できます。各要素にはインデックス番号を指定してデータを代入したり、参照したりすることができます。

リスト配列代入の書式
リスト配列名[インデックス番号] =

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arraytest3.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. fruits = ['りんご', 'みかん']
  3. #リスト配列の内容を表示する
  4. print('代入前のリスト配列:{}'.format(fruits))
  5. #リスト配列にデータを代入する
  6. fruits[0] = 'ばなな'
  7. #リスト配列の内容を表示する
  8. print('代入後のリスト配列:{}'.format(fruits))

○ 実行結果

代入前のリスト配列:['りんご', 'みかん']
代入後のリスト配列:['ばなな', 'みかん']

○ 解説

 8行目で、fruits配列のインデックス番号「0」番の要素に「ばなな」を代入しています。fruits[3]など、代入されていない他のインデックス番号の要素にアクセスするとエラーになります。

リスト配列に代入
リスト配列に代入


■ リスト配列の長さ

 リスト配列の要素数がいくつあるかを調べることができます。

リスト配列の要素数取得の書式
len(リスト配列名)

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arraylengthtest.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. vegetables = ['にんじん', 'キャベツ', 'レタス']
  3. #リスト配列の要素数を表示する
  4. print('要素数:{}'.format(len(vegetables)))
  5. #リスト配列の内容を表示する
  6. print(vegetables)

○ 実行結果

要素数:3
['にんじん', 'キャベツ', 'レタス']

○ 解説

 5行目で、リスト配列の要素数を表示しています。配列は次の章で学習する繰り返し処理と組み合わせるととても便利です。繰り返す回数を決めるときに配列の要素数を使用することができます。そうすることで柔軟なプログラムを作成することが可能です。


■ リスト配列に要素を追加

 リスト配列の末尾に要素を追加するには、「append」メソッドや「+」演算子を使います。

リスト配列要素追加の書式
配列名.append(データ)
配列名 = 配列名 + [値1, 値2, ]

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arrayappendtest.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. fruits = ['りんご', 'みかん']
  3. fruits2 = ['すいか', 'めろん', 'もも']
  4. #リスト配列の内容を表示する
  5. print('追加前のリスト配列:{}'.format(fruits))
  6. #リスト配列に要素を追加する
  7. fruits.append('ばなな')
  8. #リスト配列の内容を表示する
  9. print('追加後の配列:{}'.format(fruits))
  10. #リスト配列を+演算子で追加する
  11. fruits = fruits2 + fruits
  12. #リスト配列の内容を表示する
  13. print('追加後の配列:{}'.format(fruits))

○ 実行結果

追加前のリスト配列:['りんご', 'みかん']
追加後の配列:['りんご', 'みかん', 'ばなな']
追加後の配列:['すいか', 'めろん', 'もも', 'りんご', 'みかん', 'ばなな']

○ 解説

 2行目で、2個の要素を持つリスト配列を用意しています。3行目で、3個の要素を持つリスト配列を用意しています。9行目で、fruits配列の末尾に「ばなな」データを格納した要素を追加しています。

リスト配列の要素の追加
リスト配列の要素の追加

 15行目で、fruits2配列にfruits配列を追加しています。

リスト配列に別のリスト配列を追加
リスト配列に別のリスト配列を追加


■ リスト配列の要素を削除

 リスト配列の要素を削除するには、「del」文を使います。

リスト配列要素削除の書式
del 配列名[インデックス番号]

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arraydeletetest.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. fruits = ['りんご', 'みかん', 'すいか']
  3. #リスト配列の内容を表示する
  4. print('削除前のリスト配列:{}'.format(fruits))
  5. #要素を削除する
  6. del fruits[1]
  7. #リスト配列の内容を表示する
  8. print('削除後のリスト配列:{}'.format(fruits))

○ 実行結果

削除前のリスト配列:['りんご', 'みかん', 'すいか']
削除後のリスト配列:['りんご', 'すいか']

○ 解説

 8行目で、fruits配列の1番目の要素を削除しています。結果として「みかん」データを格納した要素が削除されます。

リスト配列の要素の削除
リスト配列の要素の削除


■ リスト配列の全要素を削除

 リスト配列の全要素を削除するには、「clear」メソッドを使います。

リスト配列全要素削除の書式
配列名.clear()

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arraycleartest.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. fruits = ['りんご', 'みかん', 'すいか']
  3. #リスト配列の内容を表示する
  4. print("全要素削除前のリスト配列:{}".format(fruits))
  5. #全要素を削除する
  6. fruits.clear()
  7. #リスト配列の内容を表示する
  8. print("全要素削除後のリスト配列:{}".format(fruits))

○ 実行結果

全要素削除前のリスト配列:['りんご', 'みかん', 'すいか']
全要素削除後のリスト配列:[]

○ 解説

 8行目で、clearメソッドを指定してfruits配列の全要素を削除しています。11行目で、fruits配列の全要素が削除されていることを確認できます。


■ リスト配列から指定した要素を取得後削除

 リスト配列の指定した要素を取得して削除するには、「pop」メソッドを使います。

リスト配列要素取得後削除の書式
配列名.pop(インデックス番号)

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arraypoptest.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. fruits = ['りんご', 'みかん', 'すいか']
  3. #リスト配列の内容を表示する
  4. print("削除前のリスト配列:{}".format(fruits))
  5. #要素を取得して削除する
  6. f = fruits.pop(1)
  7. #リスト配列の内容を表示する
  8. print("取り出した要素:{}".format(f))
  9. print("削除後のリスト配列:{}".format(fruits))

○ 実行結果

削除前のリスト配列:['りんご', 'みかん', 'すいか']
取り出した要素:みかん
削除後のリスト配列:['りんご', 'すいか']

○ 解説

 8行目で、popメソッドを使って要素を取り出しています。今回は「みかん」の要素が取り出され、その要素はリスト配列から削除されます。11行目では、取り出した要素を確認しています。「みかん」が表示されます。12行目では、削除後の配列を確認しています。「みかん」が取り除かれた状態の配列を確認することができます。

リスト配列の要素を取り出して削除
リスト配列の要素を取り出して削除


■ リスト配列の中から指定したデータを持つ要素を削除

 リスト配列の指定したデータを持つ要素を検索して削除するには、「remove」メソッドを使います。このメソッドは、最初に見つかったデータを持つ要素を削除します。

リスト配列要素検索後削除の書式
配列名.remove(データ)

○ ファイル

 Chapter2プロジェクトに次のファイルを追加してください。

ファイルの種類 空のPythonファイル
ファイル名 arrayremovetest.py

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #リスト配列を用意する
  2. fruits = ['りんご', 'みかん', 'すいか', 'みかん']
  3. #リスト配列の内容を表示する
  4. print("削除前のリスト配列:{}".format(fruits))
  5. #要素を検索して削除する
  6. fruits.remove('みかん')
  7. #リスト配列の内容を表示する
  8. print("削除後のリスト配列:{}".format(fruits))

○ 実行結果

削除前のリスト配列:['りんご', 'みかん', 'すいか', 'みかん']
削除後のリスト配列:['りんご', 'すいか', 'みかん']

○ 解説

 2行目で、「みかん」のデータを2つ持ったリスト配列を用意しています。8行目で、removeメソッドを使って「みかん」が格納されている要素を検索しています。検索して見つかった最初の要素が削除されます。11行目では、削除後の配列を確認しています。最初の「みかん」が取り除かれた状態の配列を確認することができます。

リスト配列の要素を検索して削除
リスト配列の要素を検索して削除

前へ   次へ