📏

Pythonの len() の使い方と注意点

に公開

はじめに

Pythonでデータの「長さ」を取得するときに使う len() 関数。
リストや文字列だけでなく、さまざまなデータ型に使える便利な組み込み関数です。

一見シンプルですが、使い方にいくつか気をつけたいポイントがあります。

本記事では、len() の基本的な使い方と注意点を整理します。

1. リストの要素数を取得する

fruits = ["apple", "banana", "orange"]
print(len(fruits))  # 3

リストの中の要素数を返します。

2. 文字列の文字数を取得する

text = "hello"
print(len(text))  # 5

スペースや記号も含めた、全ての文字数をカウントします。

3. 辞書のキーの数を取得する

user = {"name": "Alice", "age": 30}
print(len(user))  # 2

len() は、辞書のキーの数を返します。

💡 値やキー+値ではない点に注意が必要です。

4. タプルの要素数を取得する

data = (1, 2, 3, 4)
print(len(data))  # 4

リストと同様に、要素数を返します。

5. 集合の要素数を取得する

colors = {"red", "blue", "green"}
print(len(colors))  # 3

リストと同様に、要素数を返します。

6. 数値型(int, float)には使用できない

num = 100
print(len(num))  # ❌ TypeError

len() は、「中にいくつ要素があるか」を数えられるようなオブジェクトに対して使う関数です。

たとえばリスト、文字列、辞書などは「中に要素がいくつあるか」を数えることができます。

一方で、整数(int)や浮動小数点数(float)は、
リストや文字列のように複数の要素を持つわけではないため、len() を使うと TypeError になります。

7. len() は一瞬で終わる(定数時間で動作)

例えば、非常に多くの要素を持つリストがあったとしても、
len() はその中身を一つずつ数えているわけではありません。

Pythonでは、リストや辞書などのオブジェクトが 自分の要素数をあらかじめ記録して持っているため、len() を呼び出すと その記録された値をすぐに返すだけです。

len(大量の要素を持つリスト) でも一瞬で結果が得られます。

これは、「中身の数が書かれた付箋が貼ってあるリュックを、開けずに確認できる」 ようなイメージです。

このように「データの大きさに関係なく、処理にかかる時間が常に一定」であることを、
プログラミングでは 定数時間(O(1)) と呼びます。

おわりに

len() は、Pythonで非常によく使われる関数のひとつです。

  • リストや文字列の要素数や文字数を簡単に取得できる
  • 数値型には使えない
  • 辞書では「キーの数」を返す
  • 定数時間で動作する

こうしたポイントを知っておくことで、コードを書くときにも役立つ場面が多いと思います。

本記事が参考になれば幸いです。


🔗 関連記事

Discussion