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
になります。
len()
は一瞬で終わる(定数時間で動作)
7. 例えば、非常に多くの要素を持つリストがあったとしても、
len()
はその中身を一つずつ数えているわけではありません。
Pythonでは、リストや辞書などのオブジェクトが 自分の要素数をあらかじめ記録して持っているため、len()
を呼び出すと その記録された値をすぐに返すだけです。
len(大量の要素を持つリスト)
でも一瞬で結果が得られます。
これは、「中身の数が書かれた付箋が貼ってあるリュックを、開けずに確認できる」 ようなイメージです。
このように「データの大きさに関係なく、処理にかかる時間が常に一定」であることを、
プログラミングでは 定数時間(O(1)) と呼びます。
おわりに
len()
は、Pythonで非常によく使われる関数のひとつです。
- リストや文字列の要素数や文字数を簡単に取得できる
- 数値型には使えない
- 辞書では「キーの数」を返す
- 定数時間で動作する
こうしたポイントを知っておくことで、コードを書くときにも役立つ場面が多いと思います。
本記事が参考になれば幸いです。
🔗 関連記事
-
【初心者向け】Pythonの in と not in の使い方のまとめ
→ リストや文字列といった「長さを持つデータ型」についても解説しており、len()
との組み合わせ理解に役立ちます。 -
【初心者向け】Pythonの append() と extend() の違いを解説
→ リストの操作に関する理解を深めることで、len()
で取得される数の変化がイメージしやすくなります。 -
PythonのNone判定における注意点
→len()
を使う前にNone
チェックをしておかないとエラーになることがあるため、併せて理解しておくと安心です。
Discussion