Python all() 関数

Python3 内置函数Python3 組み込み関数


all()は、Python で反復可能オブジェクト内のすべての要素が真かどうかを判定するために使用される組み込み関数です。

all()反復可能オブジェクト内のすべての要素を走査し、すべての要素のブール値がTrueである場合、返すのはTrue;それ以外の場合に返すのはFalse。反復可能オブジェクトが空の場合も返すのはTrue。

単語の意味: all「すべて」という意味で、「すべての要素が真である」ことを表します。


基本構文とパラメータ

構文形式

all(iterable)

パラメータの説明

  • パラメータ iterable:
    • 型:反復可能オブジェクト(リスト、タプル、セット、辞書、文字列など)
    • 説明:チェック対象の反復可能オブジェクト。

関数の説明

  • 戻り値:ブール値を返しますTrue 或 False。
  • 空の反復可能オブジェクト:空の反復可能オブジェクトは返しますTrue(これは数学上の慣例です)。

例

例1:基本的な使い方

例

# リストがすべて True
print(all([True, True, True]))  # 出力: True

# リストに False が含まれる
print(all([True, False, True]))  # 出力: False

# リストがすべて非ゼロの数値
print(all([1, 2, 3]))   # 出力: True
print(all([1, 0, 3]))   # 出力: False

# 空のリスト
print(all([]))  # 出力: True

実行結果の予想:

True
False
True
False
True

コードの解説:

  1. すべての要素が真(非ゼロ、非空、None 以外)の場合に True を返します。
  2. 1つでも偽の要素があれば False を返します。
  3. 空のリストは True を返します(これは Python の約束事です)。

例2:その他の反復可能オブジェクト

例

# タプル
print(all((1, 2, 3)))    # 出力: True
print(all((1, 0, 3)))    # 出力: False

# セット
print(all({1, 2, 3}))    # 出力: True
print(all({1, 0, 3}))    # 出力: False

# 辞書(キーをチェック)
print(all({"a": 1, "b": 2}))  # 出力: True
print(all({"": 1}))           # 出力: False(空のキーは偽)

# 文字列
print(all("hello"))    # 出力: True
print(all(""))         # 出力: True(空の文字列)

# ジェネレータ
gen = (x > 0 for x in [1, 2, 3])
print(all(gen))        # 出力: True

実行結果の予想:

True
False
True
False
True
False
True
True
True

コードの解説:

  • タプルとセットの使い方はリストと同じです。
  • 辞書がチェックするのはキーであり、値ではありません。
  • 文字列内の各文字の ASCII コードは 0 ではないため、空でない文字列は True を返します。

例3:実際の応用

例

# ユーザー入力を検証
def validate_user(user):
    required_fields = ['username', 'email', 'password']
    return all(user.get(field) for field in required_fields)

user1 = {'username': 'tom', 'email': '[email protected]', 'password': '123'}
user2 = {'username': 'tom', 'email': '', 'password': '123'}

print(validate_user(user1))  # 出力: True
print(validate_user(user2))  # 出力: False

# すべての数値が正であることを確認
numbers = [1, 2, 3, 4, 5]
print(all(x > 0 for x in numbers))  # 出力: True

numbers = [1, -2, 3]
print(all(x > 0 for x in numbers))  # 出力: False

# リストが特定の要素を含むかどうかを確認
colors = ['red', 'green', 'blue']
required = ['red', 'blue']
print(all(c in colors for c in required))  # 出力: True

実行結果の予想:

True
False
True
False
True

all()データ検証や条件チェックなどの場面でよく使用され、コードをより簡潔で Pythonic にすることができます。


Python3 内置函数Python3 組み込み関数


その他の拡張