Pythonには、リストや他の反復可能なオブジェクトの要素がすべて真であるか、または少なくとも一つの要素が真であるかを判断するための組み込み関数all
とany
があります。
all関数
all
関数は、反復可能なオブジェクトを一つ受け取り、その要素が全て真であればTrue
を、そうでなければFalse
を返します。例えば、以下のように使用します。
all_true = [True, True, True]
all_false = [False, False, False]
mixed = [True, False, True]
print(all(all_true)) # True
print(all(all_false)) # False
print(all(mixed)) # False
any関数
一方、any
関数は、反復可能なオブジェクトを一つ受け取り、その要素の中に真となるものが一つでもあればTrue
を、そうでなければFalse
を返します。以下に例を示します。
print(any(all_true)) # True
print(any(all_false)) # False
print(any(mixed)) # True
これらの関数を使うと、反復可能なオブジェクトの全要素が真かどうか、真な要素があるかどうか、全要素が偽かどうか、偽な要素があるかどうかを簡単に調べることができます。
注意点
ただし、all
やany
を使用する際には注意が必要です。これらの関数は、反復可能なオブジェクトの全ての要素を評価します。したがって、以下のようなケースではエラーが発生します。
a = None
if all([a is not None, a > 0]):
pass
このコードは、a
がNone
である場合にエラーを引き起こします。なぜなら、all
関数はリストの全ての要素を評価し、a > 0
が評価されるときにa
がNone
であるため、エラーが発生するからです。
以上がPythonの組み込み関数all
とany
の基本的な使い方と注意点です。これらの関数を理解し、適切に使用することで、Pythonプログラミングの幅が広がります。