Pythonのlen()関数で値が入っていない場合の応用

投稿日: 2024年2月23日

len()関数を使用して値が入っていない(つまり、コレクションが空である)場合のチェックは、シンプルな使用法から複雑なロジックに至るまで様々なシチュエーションで役立ちます。
特に、データ構造の内容に基づいて条件分岐を行う場合や、複数のコレクション間での比較、または入れ子になったデータ構造の処理において、len()の使用はより複雑になり得ます。

以下に複雑なシチュエーションの例をいくつか紹介します。

1. 入れ子になったコレクションの要素の有無のチェック

入れ子になったリストや辞書のようなコレクションで、特定の深さにある要素が存在するかどうかをチェックする場合にlen()を使用します。

nested_list = [[1, 2, 3], [], [4, 5]]
empty_lists = 0

for sublist in nested_list:
    if len(sublist) == 0:
        empty_lists += 1

print(f"空のリストの数: {empty_lists}")

2.辞書内の特定のキーに対する値のリストの長さをチェック

辞書内にリストや他のコレクションを値として持つ場合、特定のキーに対応する値の長さをチェックして、それに応じた処理を行うことがあります。

data = {
    "users": ["Tanaka", "Suzuki", "Itou"],
    "admins": ["Satou"],
    "moderators": []
}

# 各カテゴリにユーザーが存在するかチェック
for key in data:
    if len(data[key]) == 0:
        print(f"{key}にはユーザーが存在しません。")
    else:
        print(f"{key}のユーザー数: {len(data[key])}")

以上のようにlen()関数で値がない場合方法でした。
len()関数は値が何個あるかのような使い方の方が一般的と思われます。
そちらの方も解説をしていきます。

記事