• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

HEADBOOST

  • Python
  • NumPy
  • 線形代数
  • 文法
  • お問い合わせ
現在の場所:ホーム / Python / Python リスト / Pythonのリストの要素数(長さ)を取得する方法

Pythonのリストの要素数(長さ)を取得する方法

このエントリーをはてなブックマークに追加
Tweet

Pythonでリストの要素数を取得したい場合はlen()関数を使います。多重リストの場合は、ちょっとした操作が必要なので、それもあわせて解説します。

目次

  • 1. len()関数でリストの要素数を取得
  • 2. 多重リストの要素数の取得
    • 2.1. 外側のリストの要素数を取得
    • 2.2. 内側のリストの要素数を取得
  • 3. まとめ

1. len()関数でリストの要素数を取得

リストの要素数を取得したい時はlen()関数を使います。引数にリストを渡せば、要素数を返してくれます。

In [1]:
nums = [0, 1, 2, 3, 4]
len(nums)
Out[1]:
5

2. 多重リストの要素数の取得

2.1. 外側のリストの要素数を取得

多重リストの場合は、一番外側のリストだけを数えます。

In [2]:
nums_double = [[0, 1, 2], [3, 4, 5], [6, 7], [8, 9]]
len(nums_double)
Out[2]:
4

4と出力されていますが、これは下図のように最も外側の要素を数えているためです。

2.2. 内側のリストの要素数を取得

多重リストの内側のリストの要素数を取得したい時は、len()関数の引数にリストを渡す時に、任意のインデックス番号でスライスします。

以下のコードをご覧ください。

In [3]:
print(nums_double[0])
print(len(nums_double[0]))
[0, 1, 2]
3

「nums_double[0]」で、このリストの一番最初(インデックス番号0番)の要素である[0, 1, 2]を、len()関数の引数に渡しているので3と出力されます。

なお、リストのスライスについては「Pythonのリストのスライスと分割」で解説しています。

次のようにリスト内包表記を使えば、二重リストの内側の要素数を一覧で取得することができます。(リスト内包表記は「Pythonのリスト内包表記の書き方の基本と応用」でご確認ください)。

In [4]:
[len(i) for i in nums_double]
Out[4]:
[3, 3, 2, 2]

最初は分かりづらいと思うので解説しておきます。

まず、この多重リストをfor文で回すと次のようになります(for文については「Pythonのfor文による繰り返し処理(forループ)の基本」でご確認ください)。

In [5]:
for i in nums_double:
    print(i)
[0, 1, 2]
[3, 4, 5]
[6, 7]
[8, 9]

リスト内包表記では、このfor文の出力結果に対して「len(i)」を実行しているので、結果、一回のforループごとに、順番に内側のリストの要素数を計算していることになります。

こうしたことは何度もコードを書いているうちに、自然と理解が深まっていきます。

もっと多重のリストになった場合は、forループも多重にすることで対応できます。まず以下のコードはfor文を多重で回しているものです。

In [6]:
nums = [[[1,2, 3], [4, 5]], [[6, 7, 8], [9, 10]], [[11, 12, 13, 14], [15]]]
for i in nums:
    for j in i:
        print(j)
[1, 2, 3]
[4, 5]
[6, 7, 8]
[9, 10]
[11, 12, 13, 14]
[15]

これをリスト内包表記で次のように書くことで、内側の各リストの要素数を一度に取得することができます。

In [7]:
[len(j) for i in nums for j in i] 
Out[7]:
[3, 2, 3, 2, 4, 1]

3. まとめ

リストの要素数はlen()関数で取得することができます。

len()は、多重リストの場合は、もっとも外側のリストの要素数を取得します。内側のリストの要素数を取得したい場合は、引数にスライスしたリストを渡すことで可能です。

全ての内側のリストの要素数を取得したい場合は、リスト内包表記が便利です。

リスト内包表記には、for文の知識が必要不可欠なので、以下で学んでおきましょう。

  • 「Pythonのfor文による繰り返し処理(forループ)の基本」
  • 「Pythonのリスト内包表記の書き方の基本と応用」
このエントリーをはてなブックマークに追加
Tweet

Filed Under: Python リスト 関連タグ:Python入門

moriyama

Previous Post: « Pythonでリストをシャッフルする方法
Next Post: Pythonのリストの最大値・最小値を取得する »

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

サイト内検索

コンテンツ

  • Python
  • NumPy
  • 線形代数

目次

  • 1. len()関数でリストの要素数を取得
  • 2. 多重リストの要素数の取得
    • 2.1. 外側のリストの要素数を取得
    • 2.2. 内側のリストの要素数を取得
  • 3. まとめ

Copyright © 2021 ·