【Python】リスト

2022年1月5日

これまでに学習した変数だけではエクセルのようにまとまったデータを扱うには不便です。
Pythonでは複数のデータを効率的に扱うためにいくつかの仕組みが用意されています。
これらをPythonではコレクションと呼びます。
コレクションにはリスト、ディクショナリ、タプル、セットがあります。
今回はその中の一つリストをご紹介します。
※C言語など別の言語ではリストは配列と呼ばれます。実は僕も配列派です。
今後も説明内でリストを配列と呼ぶこともあると思います。

リスト

テストの点数を管理する方法を考えます。
4人がそれぞれ以下の点数を取りました。

名前 点数
織田 45
武田 70
北条 50
豊臣 30

 

リストの説明

リストの作成

まずはサンプルを見て見ましょう

先頭行でリストを作成しています

tensu = [45,70,50,30]

先頭から順にデータが並んだ状態です。

45 70 50 30

print(tensu)
これで全データを閲覧できます。

ここではリストの要素数が4つです。
これを配列数と言います。

インデックス

それぞれのデータはインデックス(添え字とも言う)でアクセスします。
インデックスは先頭が0で数えます
インデックスは[1]のように[]を使って表現します

データ 45 70 50 30
インデックス

print(tensu[1])
インデックス1のデータを表示できました。

sum関数(リストの合計値を求める)

リストにしたデータは合計値を簡単に求めることができます。
それがsum関数です。
使い方を見て見ましょう。

簡単ですねsum関数でリスト内のデータの合計値を求めています。
配列数がいくつになってもsum関数だけで求められます。

len関数(リストの配列数(要素数)を求める)

同様にlen関数で配列数も簡単に求める事が出来ます。

リストデータの変更、追加、削除

インデックスを利用した変更

リストを最初に作成した配列数内、例えば今回のサンプルでは4要素の配列を用意したので0~3までの配列のデータはインデックスで変更が可能。
tensu[2] = 10
これで50点を10点に変更できます。

データの追加

最初に作成した配列を超えてインデックスアクセスは出来ません。
例えば5人目のメンバーが増えて100点を取ったとします。
サンプルのように記述するとエラーになります。

追記はこのようにappend()関数を利用します
データの最後に追記されます

データの削除

popを利用すると任意の位置のデータを削除出来ます。
配列はその分前に詰められます。
※popは削除した位置のデータの取得も行っていますが、ここでは詳しく説明しません。

 

スライス

スライスはインデックスの範囲指定を行う書式です。
tensu[1:3]
配列1~3

tensu[1:]
配列1以上すべて

tensu[:2]
配列2以下すべて

負のインデックス

インデックスは負で表現できます。

データ 45 70 50 30
インデックス
負のインデックス -4 -3 -2 -1

今回はここまで。

お疲れ様でした。

python教室「総合目次」に戻る

 

 

 

Python教室

Posted by taka