Pythonでリストの要素数を取得する方法|len関数の使い方を解説

Pythonでリストを扱っていると、「データがいくつ入っているか」を調べたい場面があります。

例えば、買い物リストの商品数を表示したり、リストにデータが入っているか確認したりするときです。

リストの要素数は、主に「len()関数」を使って取得します。この記事では、基本的な使い方から2次元リストを数える方法まで、初心者向けに解説します。

この記事の内容

len()でリストの要素数を取得する

リストに入っている要素の数を調べるには、「len()関数」を使います。

# 果物を入れたリスト
fruits = ["りんご", "みかん", "バナナ"]

# リストの要素数を取得
count = len(fruits)

print(count)  # 3

このリストには3つの文字列が入っているため、実行結果は「3」になります。

「len()」が返すのはリストではなく、要素数を表す整数です。

空のリストの要素数

何も入っていない空のリストに「len()」を使うと、「0」が返されます。

# 空のリストを作成
items = []

# 要素数を確認
count = len(items)

print(count)  # 0

空のリストでもエラーにはなりません。そのため、データが登録されているかを確認するときにも利用できます。

items = []

# 要素が1つ以上あるか確認
if len(items) > 0:
    print("データがあります")
else:
    print("データがありません")

Pythonでは、次のようにリスト自体を条件式にすることもできます。

items = []

# 空のリストはFalseとして扱われる
if items:
    print("データがあります")
else:
    print("データがありません")

要素数そのものが必要なら「len(items)」、空かどうかだけを知りたいなら「if items」と使い分けると、コードの目的が分かりやすくなります。

追加や削除で要素数は変わる

リストに要素を追加したり、削除したりすると、「len()」が返す値も変化します。

numbers = [10, 20, 30]

# 最初の要素数
print(len(numbers))  # 3

# 末尾に40を追加
numbers.append(40)
print(len(numbers))  # 4

# 10を削除
numbers.remove(10)
print(len(numbers))  # 3

「len()」は、実行した時点の要素数を返します。

データが増減するプログラムでも、現在の件数を簡単に確認できます。

len()とcount()の違い

初心者が混同しやすいのが、「len()」と「count()」です。

「len()」はリスト全体の要素数を取得します。一方、「count()」は指定した値がリスト内にいくつあるかを調べます。

numbers = [10, 20, 10, 30, 10]

# リスト全体の要素数
print(len(numbers))  # 5

# 10が入っている個数
print(numbers.count(10))  # 3

リスト全体の長さを知りたい場合は「len()」、特定の値だけを数えたい場合は「count()」を使います。

「何を数えるのか」を考えると、2つの違いを判断しやすくなります。

文字列も1つの要素として数えられる

リスト内に長い文字列が入っていても、その文字列全体で1つの要素として数えられます。

words = ["Python", "プログラミング", "初心者"]

# 文字数ではなく、リストの要素数を取得
print(len(words))  # 3

# 最初の文字列の文字数を取得
print(len(words[0]))  # 6

「len(words)」はリストの要素数を調べています。

一方、「len(words[0])」は、リストの最初にある文字列「Python」の文字数を調べています。

同じ「len()」でも、渡したデータによって何を数えるかが変わる点に注意しましょう。

2次元リストの要素数

リストの中に別のリストが入っているものを、2次元リストと呼びます。

numbers = [
    [1, 2],
    [3, 4],
    [5, 6]
]

# 外側のリストの要素数を取得
print(len(numbers))  # 3

数値は全部で6個ありますが、結果は「3」です。

外側のリストから見ると、次の3つがそれぞれ1つの要素として扱われるためです。

[1, 2]
[3, 4]
[5, 6]

「len()は、指定したリストの一段目を数える」と考えると理解しやすくなります。

2次元リスト内の全要素を数える

2次元リストの内側にある要素をすべて数えたい場合は、各行の要素数を合計します。

numbers = [
    [1, 2],
    [3, 4],
    [5, 6]
]

# 各行の要素数を合計
total_count = sum(len(row) for row in numbers)

print(total_count)  # 6

このコードでは、それぞれの内側のリストに「len()」を使い、取得した要素数を「sum()」で合計しています。

内側のリストの長さがそろっていない場合でも計算できます。

numbers = [
    [1, 2, 3],
    [4],
    [5, 6]
]

# 3個、1個、2個を合計
total_count = sum(len(row) for row in numbers)

print(total_count)  # 6

要素数を条件に使う

「len()」で取得した要素数は、処理を実行するか判断するときにも使えます。

例えば、リストに3件以上のデータがある場合だけ平均値を計算してみましょう。

scores = [80, 75, 90, 85]

# データが3件以上ある場合だけ平均値を計算
if len(scores) >= 3:
    average = sum(scores) / len(scores)
    print(average)  # 82.5
else:
    print("データが足りません")

要素数は、単に画面へ表示するだけの値ではありません。

「処理に必要なデータがそろっているか」を確認するためにも使えます。これは、エラーや想定外の計算を防ぐうえで大切な考え方です。

最後の要素を取得する場合

リストの要素数を使うと、最後の要素がある位置を計算できます。

fruits = ["りんご", "みかん", "バナナ"]

# インデックスは0から始まるため1を引く
last_index = len(fruits) - 1

print(fruits[last_index])  # バナナ

ただし、最後の要素を取得するだけなら、Pythonでは「-1」を指定するほうが簡単です。

fruits = ["りんご", "みかん", "バナナ"]

# 末尾の要素を取得
print(fruits[-1])  # バナナ

「len()で書けるから必ず使う」のではなく、目的に合った読みやすい方法を選ぶことも大切です。

まとめ

Pythonでリストの要素数を取得するには、「len()関数」を使います。

items = ["A", "B", "C"]

# リストの要素数を取得
count = len(items)

print(count)  # 3

今回のポイントは次のとおりです。

  • 「len()」はリスト全体の要素数を取得する
  • 空のリストの要素数は「0」になる
  • 「count()」は特定の値が入っている個数を調べる
  • 2次元リストでは、外側の要素だけが数えられる
  • 内側の全要素を数える場合は、各行の長さを合計する

要素数は、データの件数を表示するだけでなく、「処理を始めてもよいか」を判断する材料にもなります。

身近なリストに要素を追加したり削除したりしながら、「len()」の結果がどのように変わるか確認してみましょう。

この記事が役に立ったらシェア
  • URLをコピーしました!
この記事の内容