1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

【Python入門】list sizeでリストのサイズを取得する方法

【Python入門】
Pocket

Pythonでリストを扱っていると、そのリストのサイズ(長さ)を知りたくなる時があります。Pythonならリストの長さも関数を使うことで簡単に取得が可能です。今回は1次元リストおよび多次元リストのサイズを取得する方法について解説します。

for文でリストのサイズを取得する

リストのサイズを取得する最もオーソドックスなやり方はfor文を使ったやり方です。

実行結果

list1の長さは3です

Pythonのfor文ではリストから要素を一つずつ取り出すことができるので、カウンタ変数(この例ではlength)を用意して、そのたびにカウンタ変数の値を1プラスしていくことでリストのサイズを取得できます。

len関数でリストのサイズを取得する

さきほどfor文を回すことでリストのサイズを取得する方法を解説しました。その方法でもサイズを取得できますが、Pythonではもっと簡単に長さを取得することができます。それがlen関数を使う方法です。len関数の構文は以下の通りです。

len関数は引数で渡されるリストの長さを返す関数です。lenを使うことで、たった一行でリストの長さを取得可能です。

実行結果

list1の長さは3です

ソースコードが非常にスッキリしましたね。for文を使う方法も特別複雑ではありませんが、やはりlen関数を使ったほうがスッキリします。

len関数で多次元リストのサイズを取得する

さきほどは1次元のリストのサイズを取得しましたが、時には2次元以上の多次元のリストのサイズを取得したいこともあります。1次元の場合はfor文を使っても問題ありませんでしたが、多次元のリストの場合はfor文だけで取り出そうとするとかなり複雑になってしまいます。

多次元リストのサイズを取得するときはlen関数とfor文を組み合わせることになります。1次元と比べると少し複雑ですが、それでもlenを使うことで比較的少ないコード量でサイズを取得することができます。

今回は例として以下のような2次元のリストの長さを取得します。

まず、このリストに普通にlen関数を適用してみます。

実行結果

list1の長さは2です

このやり方ではサイズが2となってしまいました。list1は[‘python’, ‘list’]という要素と[‘length’, ‘two’, ‘ demension’]という要素、合わせて2つの要素を持つ1次元のリストとみなされているからです。

2次元のリストのサイズを正しく取得するには、各要素のサイズを取得し、それを足し合わせる必要があります。つまり、各要素をlen関数に渡し、その結果を足し合わせれば全体のサイズを取得できます。

実行結果

list1の長さは5です

これで正しく全体のサイズを取得できました。3次元以上も、基本的にはこのようにlenをfor文内で使って各要素のサイズを取得することで、全体のサイズを取得できます。

count関数で指定した要素の数を取得する

リストのサイズを取得する方法はプログラミング言語によって異なりますが、言語によっては「count」という関数で取得するものがあります。Pythonではcount関数はリストの長さではなく「指定した特定の要素の数」を取得できます。countもよく使う関数なので、この機会に使い方を覚えてしまうとよいでしょう。countの構文は以下の通りです。

変数 = リスト.count(オブジェクト)

count関数は、引数に指定したオブジェクトがリストの中にいくつあるかを返します。

実行結果

list2の中に1は3個あります

ちなみに、指定したオブジェクトがリストの中に1つもない場合は自動で0を返します。

実行結果

list2の中に1は0個あります

おわりに

いかがでしたか。
様々な種類のオブジェクトのサイズを取得する方法について紹介しました。
学習の参考にしてみてください。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る