※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。
参考サイト:【Python入門】list sizeでリストのサイズを取得する方法
【Python入門】list sizeでリストのサイズを取得する方法
Pythonでリストを扱っていると、そのリストのサイズ(長さ)を知りたくなる時があります。Pythonならリストの長さも関数を使うことで簡単に取得が可能です。今回は1次元リストおよび多次元リストのサイズを取得する方法について解説します。
目次
1 for文でリストのサイズを取得する
2 len関数でリストのサイズを取得する
3 len関数で多次元リストのサイズを取得する
4 count関数で指定した要素の数を取得する
for文でリストのサイズを取得する
リストのサイズを取得する最もオーソドックスなやり方はfor文を使ったやり方です。
list1 = ['python', 'list', 'length']
length = 0
for x in list1:
length += 1
print('list1の長さは{}です'.format(length))
実行結果
list1の長さは3です
Pythonのfor文ではリストから要素を一つずつ取り出すことができるので、カウンタ変数(この例ではlength)を用意して、そのたびにカウンタ変数の値を1プラスしていくことでリストのサイズを取得できます。
len関数でリストのサイズを取得する
さきほどfor文を回すことでリストのサイズを取得する方法を解説しました。その方法でもサイズを取得できますが、Pythonではもっと簡単に長さを取得することができます。それがlen関数を使う方法です。len関数の構文は以下の通りです。
変数 = len(リスト)
len関数は引数で渡されるリストの長さを返す関数です。lenを使うことで、たった一行でリストの長さを取得可能です。
list1 = ['python', 'list', 'length']
length = len(list1)
print('list1の長さは{}です'.format(length))
実行結果
list1の長さは3です
ソースコードが非常にスッキリしましたね。for文を使う方法も特別複雑ではありませんが、やはりlen関数を使ったほうがスッキリします。
len関数で多次元リストのサイズを取得する
さきほどは1次元のリストのサイズを取得しましたが、時には2次元以上の多次元のリストのサイズを取得したいこともあります。1次元の場合はfor文を使っても問題ありませんでしたが、多次元のリストの場合はfor文だけで取り出そうとするとかなり複雑になってしまいます。
多次元リストのサイズを取得するときはlen関数とfor文を組み合わせることになります。1次元と比べると少し複雑ですが、それでもlenを使うことで比較的少ないコード量でサイズを取得することができます。
今回は例として以下のような2次元のリストの長さを取得します。
list1 = [['python', 'list'], ['length', 'two', ' demension']]
まず、このリストに普通にlen関数を適用してみます。
list1 = [['python', 'list'], ['length', 'two', ' demension']]
length = len(list1)
print('list1の長さは{}です'.format(length))
実行結果
list1の長さは2です
このやり方ではサイズが2となってしまいました。list1は[‘python’, ‘list’]という要素と[‘length’, ‘two’, ‘ demension’]という要素、合わせて2つの要素を持つ1次元のリストとみなされているからです。
2次元のリストのサイズを正しく取得するには、各要素のサイズを取得し、それを足し合わせる必要があります。つまり、各要素をlen関数に渡し、その結果を足し合わせれば全体のサイズを取得できます。
list1 = [['python', 'list'], ['length', 'two', ' demension']]
length = 0
for x in list1:
length += len(x) #取り出した要素の長さを足していく
print('list1の長さは{}です'.format(length))
実行結果
list1の長さは5です
これで正しく全体のサイズを取得できました。3次元以上も、基本的にはこのようにlenをfor文内で使って各要素のサイズを取得することで、全体のサイズを取得できます。
count関数で指定した要素の数を取得する
リストのサイズを取得する方法はプログラミング言語によって異なりますが、言語によっては「count」という関数で取得するものがあります。Pythonではcount関数はリストの長さではなく「指定した特定の要素の数」を取得できます。countもよく使う関数なので、この機会に使い方を覚えてしまうとよいでしょう。countの構文は以下の通りです。
変数 = リスト.count(オブジェクト)
count関数は、引数に指定したオブジェクトがリストの中にいくつあるかを返します。
ist2 = [1, 3, 4, 5, 1, 2, 1]
count_one = list2.count(1)
print('list2の中に1は{}個あります'.format(count_one))
実行結果
list2の中に1は3個あります
ちなみに、指定したオブジェクトがリストの中に1つもない場合は自動で0を返します。
list2 = [1, 3, 4, 5, 1, 2, 1]
count_one = list2.count(6)
print('list2の中に6は{}個あります'.format(count_one))
実行結果
list2の中に1は0個あります