リスト型は、1つの変数で複数の値を格納できる便利な配列形式のデータ型です。
リストは、1つの変数で多くの値を扱うことができるだけでなく、要素の追加(append)や挿入(insert)・削除(pop/remove)、検索(in)や要素数のカウント(len)などといった操作も可能です。
この記事では、基本的なリスト型の使い方や、他の関数を使って、リスト型の数値を合計(sum関数)や平均(average関数)の事例や、for文の事例についても解説します。
list型(リスト型)の基本
リスト型の初期化と作成方法や、要素の追加・挿入・削除方法等を解説します。
リストの初期化
リストの初期化は2通りあります。
# うまい棒(d_stick)リストの初期化
d_stick = []
d_stick = list()
右辺に①[]か②list()のどちらでもオッケーです。
リスト型データの作成
リストはカンマ(,)で区切ったデータを角括弧[]で囲って記述します。
# うまい棒(d_stick)のリストを作りる
>>> d_stick = ['なっとう味','カラスミ味','コンポタージュ味']
リスト型の各要素へのアクセスは添字を使って要素にアクセス
作成したリストから値を取り出すときは角括弧([])つかって番号(添字)をしていします。
リスト型の添字は0から始まります。また-1を指定すると最後の値が表示されます。
# 作成したリストから値を取り出すときは「リスト名[数値]」で取り出します。
>>> d_stick[0]
>>> 'なっとう味'
格納しているデータの要素を変更
さて、作成したうまい棒(d_stick)のリストには、販売していない「カラスミ味」があります。
このまま放置すると、製造元である「株式会社やおきん」さんから、怒られますので変更しましょう。
# 格納しているデータの要素の変更は「リスト名[変更したい要素の添字] = '変更する内容'です。」
>>> d_stick[1] = 'サラミ味'
>>> d_stick
['なっとう味','サラミ味','コンポタージュ味']
はい。これで怒られません。
appendでリストに新しいデータの要素を追加する
「このリストの中に私の好きなやさいサラダ味がない!」と
発狂したあなた。 ご安心ください。
リストにはデータの追加も可能なのです。
リストに新しいデータの要素を追加したい場合は、「append」というメソッドを使います。
(appendの日本語訳は「追記」です。)
ちなみに追加したデータは一番後ろに追加されます。
# 格納しているデータの要素を変更は「リスト名.append(追加したい内容)です。」
d_stick.append('やさいサラダ味')
>>> d_stick
['なっとう味','サラミ味','コンポタージュ味','やさいサラダ味']
はい。追加されました。
ちなみに鳥居みゆきさんは、お菓子のサラダ味を食べれば野菜を食べた事になると豪語していました。
うん。素敵です。
insertでリストに挿入する場所を指定できます。
リストは追加だけでなく挿入する場所も指定できます。
リストに要素を追加するとき、挿入する場所を指定したい場合は、insertメソッドを使います。
(insertの日本語訳は「挿入する」です。)
# 格納しているデータ要素の変更は「リスト名.insert(要素を追加する添字,追加したい内容)です。」
>>> d_stick.insert(1,'チキンカレー味')
>>> d_stick
['なっとう味','チキンカレー味','サラミ味','コンポタージュ味','やさいサラダ味']
リストの要素を削除する:popとremove
「なっとう味を消して!」と
凄んでいるが、人生を振り返れば30秒で完結してしまう40代のあなた。
安心してください。
リストは削除も可能です。
ただ、削除方法は2通りあるのでそれぞれ説明します。
1.添字を使って要素を削除
添字を使って要素を削除する場合、popというメソッドを使って行います。
(popの日本語訳は「飛び出す」です。)
# 添字を使って要素を削除する場合は「リスト名.pop(削除する場所添字)です。」
>>> d_stick.pop(0)
>>> d_stick
['チキンカレー味','サラミ味','コンポタージュ味','やさいサラダ味']
# ちなみdelでも削除可能です。
>>> del d_stick.remove[0]
>>> d_stick
['チキンカレー味','サラミ味','コンポタージュ味','やさいサラダ味']
2.要素を直接指定して削除する
要素を直接指定して削除する場合は、removeメソッドを使います。
(removeの日本語訳は「取り除く」です。)
# 格要素を直接指定して削除する場合は「リスト名.remove(削除する要素)です。」
>>> d_stick.remove('なっとう味')
>>> d_stick
['チキンカレー味','サラミ味','コンポタージュ味','やさいサラダ味']
in演算子で要素内を検索
Pythonのin演算子を使うと、指定した特定の要素が含まれるかどうかを確認できます。
記述方法
値 in リスト名
戻り値はTrueかFalseで、リストの要素に指定した値と同じものがあれば「True」を返し、なければ「False」を返します。
in演算子事例
>>> d_stick = ['なっとう味','チーズ味','コンポタージュ味']
>>> print("チーズ味" in d_stick)
True
>>> print("カラスミ味" in d_stick)
False
len関数でリストの要素数を調べる
リスト内にいくつ要素があるかを調べるにはlen関数を使います。
記述方法
len(リスト名)
引数には調べたいリスト名を指定します。
len関数事例
>>> d_stick = ['なっとう味','チーズ味','コンポタージュ味']
>>> count_d_stick = len(d_stick)
>>> print(count_d_stick)
3
count関数で指定した値と同じ要素がリストに何個含まれているか取得
count関数を使えば、指定した値がリスト内に何個あるかを取得できます。
記述方法
リスト名.count(指定値)
count関数事例
>>> d_stick = ['なっとう味','チーズ味','チーズ味','チーズ味','コンポタージュ味']
>>> print(d_stick.count("チーズ味"))
3
>>> print(d_stick.count("明太子味"))
0
チーズ味を指定した場合、3個あるので「3」を返します。
要素が無い場合は、「0」を返します。
sum関数でリストの要素を合計する
リストの要素を合計したい場合は、sum関数を使います。
記述方法
sum(リスト名)
sum関数事例:1~10までの合計値を出力
num_list = list(range(1, 11))
print(sum(num_list))
まず、range関数を使って1~10までのリストを作成します。
次にsum(リスト名)で要素を合計します。
→range関数の使い方はこちら
→sum関数の使い方はこちら
average関数でリストの平均を求める
NumPyのaverage関数を使えば、リストの平均値を求める事が出来ます。
記述方法
numpy.average(リスト名)
average関数事例
>>> import numpy
>>> num_list = [10,20,10,20]
>>> numpy.average(num_list)
15.0
numpyは拡張モジュールですので、importが必要です。
まとめ
いかがでしたか?
リストには「連結と拡張」や「リストの一部の切り出し」「並べ替え」など、まだまだ便利な機能があります。
いずれそれらも追記しますので、お待ちください。
その他のデータ型については以下に詳しく掲載しています。