Python all/anyでイテラブル要素のTrue/Falseを判定する

イテラブルとは、ざっくり言えば、リストのように順番に要素を返すことができるオブジェクトのことを言います。

ここにあるリストオブジェクトが存在するとして、その要素がすべてTrueなのか、あるいは、どれか一つでもTrueなのかを調べたい場合があります。

そんなときに、all()関数とany()関数を使います。

■サンプルスクリプト
all_or_any.py

pg = '''
    Python
    Ruby
    JavaScript
    Java
    C
    R
    Go
'''
pg_list = pg.split()

# 一文字のプログラミング言語が含まれているかを調べる
result_all = all(map(lambda pg: len(pg) == 1, pg_list))
result_any = any(map(lambda pg: len(pg) == 1, pg_list))

print(result_all)
print(result_any)

■実行結果

$ python all_or_any.py
False
True

注意事項

all([])はTrueを返す。
any([])はFalseを返す。