Pythonインストール後の基礎として、「リスト」があります。
Pythonでデータ整理したい場合に、「リスト」は欠かせません。
本記事では、そんなPython基礎となるリストの作成方法とその処理方法について、詳しくご説明します。
リスト
表データのように、決められた順番に従って並べられた値で構成される情報を表現する際に使用するのが、リストです。
リストの作成方法から呼び出し方法までを順番にご説明します。
リストの作成
リストは、[](角括弧)で作成します。
作成例を、以下にご紹介します。
#input
week = ["月","火","水","木","金","土","日"]
上の例のように、表現したい要素をカンマで区切って作成します。
これを出力すると、以下のようになります。
print(week)
#output
['月', '火', '水', '木', '金', '土', '日']
文字列データでなく、数値データの場合、以下のように作成できます。
#input
value = [123,456,789,147,258,369,159,357]
print(value)
#output
[123, 456, 789, 147, 258, 369, 159, 357]
リストに定義された要素の順番は、左から0,1,2,3…と設定されます。
(数字が0から始まっていることに注意してください。)
この数字のことをインデックスと言います。
例えば、上記のリスト「week」の3番目は「水」です。
これを参照する場合には、以下のように[]で指定します。
(インデックスは0からですので、[]には3ではなく2を入れます。)
#input
print(week[2])
#output
水
複数を参照する場合には、以下のようになります。
#input
print(week[3],week[5],week[0],week[2])
#output
木 土 月 水
参照した要素は、数値データなどに使用することができます。
上の例「value」を参照して計算したものを、以下に載せます。
#input
value = [123,456,789,147,258,369,159,357]
cal = str(value[0])+str(value[1])+str(value[2])
print(cal)
#output
123456789
リストの編集
リストに要素を追加するには、insert()を使用します。
insert()を使用して、リストに要素を追加した例を以下にご紹介します。
#input
sample = [1,3,7]
print("before:",sample)
sample.insert(2,5)
print("after:",sample)
#output
before: [1, 3, 7]
after: [1, 3, 5, 7]
「sample.insert[2,5]」で、sampleリストの左から3番目に5を挿入しています。
元々3番目にあった7は、一つ右にずれているのが分かるかと思います。
一方で、設定した要素を別の要素に置き換える場合には、変数の代入と同じ要領で行います。
以下に要素置き換えの例を挙げます。
#input
sample = [1,3,7]
print("before:",sample)
sample[1] = 5
print("after:",sample)
#output
before: [1, 3, 7]
after: [1, 5, 7]
「sample[1] = 5」で、左から2番目の3を5に置き換えています。
変数を代入するのと同じですので、分かりやすいかと思います。
次に、リストの要素を削除したい場合には、del文を使用します。
以下に要素削除の例を挙げます。
#input
sample = [1,3,7]
print("before:",sample)
del sample[1]
print("after:",sample)
#output
before: [1, 3, 7]
after: [1, 7]
「del sample[1]」で、左から2番目の3という要素を削除しています。
リストのループ処理(while文)
リストのデータ処理として、合計を算出することがあります。
合計の算出は、while文のループ処理によって行うことができます。
上記例のリスト「value」について、合計算出の例を以下に紹介します。
#input
value = [123,456,789,147,258,369,159,357]
i = 0
total = 0
while i < 8:
value_i = value[i]
total = total + value_i
i = i + 1
print("total:",total)
#output
total: 2658
リスト「value」の要素数だけ、合計値を順番に加算していくようなプログラムになっています。
「while i < 8」の8は、リスト「value」の要素数ですが、リストが異なる場合には当然要素数も異なります。
そんなときに、要素数を数えてくれるlen()関数を使用すると便利です。
len()関数の使用例を以下にご紹介します。
#input
value = [123,456,789,147,258,369,159,357]
i = 0
j = len(value)
total = 0
while i < j:
value_i = value[i]
total = total + value_i
i = i + 1
print("total:",total)
#output
total: 2658
リストの要素数に依らないプログラムになっていますので、len()関数を使用した方が使い易いプログラムであることが分かると思います。
リストのループ処理(for文)
上の例では、while文を使用したループ処理をご紹介しました。
リストを順番に処理するための変数定義が、面倒だと思われたかもしれません。
そんなときに使用すると便利なのが、for文です。
リストの要素を順番に参照する処理について、より簡単に記述できます。
上記例について、for文を使用して記述すると、以下のようになります。
#input
value = [123,456,789,147,258,369,159,357]
total = 0
for value_i in value:
total = total + value_i
print("total:",total)
#output
total: 2658
for文は、要素をリストから順番に取り出し、for文以降の処理について、それぞれの要素ごとに実行する文です。
つまり、要素数分だけ順番に実行という処理が含まれています。
上の例でも、変数の「i」や「j」が省略され、より簡単な記述になっていることが分かると思います。
効率的にわかりやすいプログラムを作成したい方におすすめの文です。
まとめ
この記事では、Python基礎となるリストの作成方法と処理方法について、ご説明しました。
本記事を参考に、ぜひ色々試してみて下さい。
参考
Python学習用おすすめ教材
Pythonの基本を学びたい方向け
統計学基礎を学びたい方向け
Pythonの統計解析を学びたい方向け
おすすめプログラミングスクール
Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!