要素の一括真偽判定 (all / any) | Python-izm

要素の一括真偽判定

Pythonではリストタプルなどが保持している要素を、一括真偽判定(TrueかFalseか)することができるall関数、any関数があります。

all

all関数は引数の反復可能オブジェクトが保持しているすべての要素が真(True)であるときにTrueを返します。

test_list_1 = [0, 100, 300, 800, 150, 0, 40]
test_list_2 = ([], [], [])
test_list_3 = (['python', 'izm', 'com'], ['www'], ['http'])

print(all(test_list_1))
print(all(test_list_2))
print(all(test_list_3))
False
False
True

Pythonでは数値の0空のリストはFalseと判定されます。test_list_10が含まれているため、all関数の結果はFalse、test_list_2も同様に空のリストが含まれているためFalseとなります。

※all関数は以下の処理と同じことを行っています。

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

any

any関数は引数の反復可能オブジェクトが保持しているいずれかの要素が真(True)であるときにTrueを返します。

test_list_1 = [0, 100, 300, 800, 150, 0, 40]
test_list_2 = ([], [], [])
test_list_3 = (['python', 'izm', 'com'], ['www'], ['http'])

print(any(test_list_1))
print(any(test_list_2))
print(any(test_list_3))
True
False
True

test_list_10が含まれていますが、Trueと判定される0以外も含まれているため、any関数の結果はTrueです。test_list_2空のリストしか含まれていないためFalseとなります。

※any関数は以下の処理と同じことを行っています。

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False