Python でリストの長さを調べる方法

Python で len() 関数を使用してリストの長さを調べる方法を学びます。 O(1) の時間計算量とチェック数を理解します。

エディターでこのソリューションを試してください

概要

コレクション内の要素の数を知ることは、ユーザー入力の検証、データの小さなチャンクへの分割、API クエリのページング、またはループ反復の作成を行うときに重要です。 Python では、単純な組み込みの `len()` 関数を使用して、コレクションのサイズまたは長さを見つけることができます。

内部では、Python のリスト構造は可変長配列として実装されています。これには、保持する要素の数を追跡する内部カウンターが含まれています。 `len(my_list)` を呼び出すと、Python はリストを走査して要素をカウントしません。この内部カウンターを読み取るだけです。これは、`len()` の時間計算量が常に O(1) (定数時間) であることを意味し、リストのサイズに関係なく非常に高速になります。

`len()` 関数は汎用であり、`__len__` マジック メソッドを実装する任意の反復可能なオブジェクトに対して動作します。これは、まったく同じ構文を使用してタプル、文字列、辞書、セット、カスタム クラス インスタンスの長さを検索できることを意味し、コードベース全体で完全な一貫性を維持できます。

コードと実行の出力

このスクリプトは、len() 関数を使用してリスト、文字列、辞書の長さを検索する方法を示します。

empty = []
numbers = [10, 20, 30, 40, 50]
words = ["python", "code", "run"]

# 1. Finding lengths of lists
print("Empty list length:", len(empty))
print("Numbers list length:", len(numbers))

# 2. Finding length of a string
text = "Hello, World!"
print("String length:", len(text))

# 3. Finding length of a dictionary
details = {"id": 1, "name": "Alice"}
print("Dictionary length:", len(details))
端子出力
Empty list length: 0
Numbers list length: 5
String length: 13
Dictionary length: 2

段階的な実装

  • len() 関数を呼び出し、リスト変数を単一の引数として渡します。
  • 返された整数を変数に保存するか、直接出力/評価します。
  • 結果を条件または数学計算 (インデックス作成など) に使用します。

よくある質問

Python の len() はなぜそれほど速いのでしょうか?

Python の組み込みコレクションは項目数を内部的に保存するためです。 len() を呼び出すと、反復を実行せずに単に構造体フィールドが読み取られます。

カスタム クラス オブジェクトで len() を呼び出すとどうなりますか?

カスタム クラス定義内で __len__(self) マジック メソッドを定義しない限り、TypeError が発生します。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。