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で非常によく使われる関数のひとつです。
- リストや文字列の要素数や文字数を簡単に取得できる
- 数値型には使えない
- 辞書では「キーの数」を返す
- 定数時間で動作する
こうしたポイントを知っておくことで、コードを書くときにも役立つ場面が多いと思います。
本記事が参考になれば幸いです。
🔗 関連記事
-
【初心者向け】Pythonの in と not in の使い方のまとめ
→ リストや文字列といった「長さを持つデータ型」についても解説しており、len()との組み合わせ理解に役立ちます。 -
【初心者向け】Pythonの append() と extend() の違いを解説
→ リストの操作に関する理解を深めることで、len()で取得される数の変化がイメージしやすくなります。 -
PythonのNone判定における注意点
→len()を使う前にNoneチェックをしておかないとエラーになることがあるため、併せて理解しておくと安心です。
Discussion
ちなみに、intにはビット長や1のビット数を数えるメソッドがあります。