Pythonでリスト(list)を扱う際、そのリストに現在いくつのデータ(要素)が格納されているか、その「要素数」を知る必要がある場面は非常に多くあります。
例えば、for ループで処理する回数を確認したり、リストが空かどうか(要素数が0か)を判定したりする場合です。
Pythonでは、このようなシーケンスの長さを取得するために、標準の組み込み関数である len() が用意されています。
目次
len() 関数の基本的な使い方
len() 関数は、引数として渡されたオブジェクトの「長さ」や「要素数」を整数(int)で返します。リスト(list)を渡した場合、そのリストに含まれる要素の総数を返します。
構文:
len(リストオブジェクト)
使用例:
# 現在アクティブなユーザーのリスト
active_users = ["guest_01", "member_a", "admin_user", "member_b"]
# len() を使って要素数を取得
user_count = len(active_users)
print(f"リストの内容: {active_users}")
print(f"要素数: {user_count}")
実行結果:
リストの内容: ['guest_01', 'member_a', 'admin_user', 'member_b']
要素数: 4
active_users リストには4つの文字列要素が含まれているため、len() は 4 を返します。
空のリストと len()
len() 関数は、要素が一つもない「空のリスト」に対しても使用できます。その場合、0 を返します。
# 処理待ちのタスクリスト(最初は空)
pending_tasks = []
task_count = len(pending_tasks)
print(f"タスクリスト: {pending_tasks}")
print(f"タスク数: {task_count}")
実行結果:
タスクリスト: []
タスク数: 0
if 文での活用
リストの要素数が 0 であるかどうかを判定することで、リストが空かどうかをチェックできます。これは、データが存在する場合のみ特定の処理を実行したい場合などに便利です。
if len(pending_tasks) == 0:
print("処理すべきタスクはありません。")
# (参考)Pythonでは、リスト自体をif文の条件に使うこともできます
# if not pending_tasks:
# print("処理すべきタスクはありません。")
len() は他のオブジェクトにも使用可能
len() 関数はリスト専用ではなく、長さ(要素数や文字数)の概念を持つ他のオブジェクトにも使用できます。
- 文字列 (
str): 文字列の総文字数を返します。 - 辞書 (
dict): キーと値のペアの数(キーの総数)を返します。 - タプル (
tuple): 要素の総数を返します。
message = "Hello"
config = {"host": "localhost", "port": 80}
print(f"'{message}' の文字数: {len(message)}")
print(f"config のキーの数: {len(config)}")
実行結果:
'Hello' の文字数: 5
config のキーの数: 2
まとめ
- リストに含まれる要素の総数を取得するには、組み込み関数の
len()を使用します。 len(my_list)は、リストの要素数を整数で返します。- 空のリスト(
[])に対してlen()を実行すると0が返されます。
