Python all()関数の使い方|リストの全要素を判定する方法とany()との違い

Pythonのall()は、複数の条件がすべてTrueかどうかを判定する関数です。
リストやタプルなどの要素をまとめて確認したいときに便利で、特に「すべて条件を満たしているか」を判定するときによく使われます。
この記事では、Pythonのall()の基本的な使い方から、any()との違い、注意点まで初心者向けに解説します。
Pythonのall()とは?
all()は、指定したイテラブルの要素がすべて真(True)ならTrueを返す関数です。
基本構文は次のとおりです。
all(イテラブル)
例えば、次のコードを見てみましょう。
numbers = [True, True, True]
print(all(numbers))
実行結果:
True
3つの要素がすべてTrueなので、all()の結果もTrueになります。
一方、1つでもFalseが含まれている場合はFalseになります。
numbers = [True, False, True]
print(all(numbers))
実行結果:
False
all()の基本的な使い方
例えば、すべての数字が10以上か確認するとします。
numbers = [10, 20, 30, 40]
result = all(number >= 10 for number in numbers)
print(result)
実行結果:
True
すべての数字が10以上なのでTrueになります。
1つでも10未満の数字があるとFalseです。
numbers = [10, 20, 5, 40]
result = all(number >= 10 for number in numbers)
print(result)
実行結果:
False
all()とfor文の違い
同じ処理をfor文で書くこともできます。
numbers = [10, 20, 30, 40]
result = True
for number in numbers:
if number < 10:
result = False
break
print(result)
all()を使えば、より簡潔に書けます。
numbers = [10, 20, 30, 40]
result = all(number >= 10 for number in numbers)
print(result)
「すべて条件を満たしているか」という処理を簡潔に表現できるのがall()のメリットです。
all()でリストを判定する
all()にはリストをそのまま渡すこともできます。
numbers = [1, 2, 3, 4]
print(all(numbers))
実行結果:
True
これは、リストの各要素がPython上で「真」と評価されるかを判定しています。
例えば0は偽(False)として扱われます。
numbers = [1, 2, 0, 4]
print(all(numbers))
実行結果:
False
0が含まれているため、結果はFalseです。
all()で文字列を判定する
文字列を渡すこともできます。
words = ["Python", "Java", "Ruby"]
print(all(words))
実行結果:
True
空文字列""は偽として扱われます。
words = ["Python", "", "Ruby"]
print(all(words))
実行結果:
False
all()で条件をまとめて判定する
all()は条件式と組み合わせると特に便利です。
例えば、リスト内の数字がすべて0以上か確認できます。
numbers = [1, 5, 10, 20]
if all(number >= 0 for number in numbers):
print("すべて0以上です")
実行結果:
すべて0以上です
複数の条件をチェックする処理を簡潔に記述できます。
all()とany()の違い
all()とよく一緒に使われるのがany()です。
違いを簡単に説明すると、次のようになります。
| 関数 | 判定 |
|---|---|
all() |
すべてがTrueならTrue |
any() |
1つでもTrueならTrue |
例えば、
numbers = [True, True, False]
の場合、
print(all(numbers))
は、
False
になります。
一方、
print(any(numbers))
は、
True
になります。
覚え方
all = 全部
any = どれか
と覚えると分かりやすいでしょう。
all()の空のリストに注意
all()に空のリストを渡すとTrueになります。
print(all([]))
実行結果:
True
これは初心者が戸惑いやすいポイントです。
「すべての要素がTrueか?」という条件について、Falseである要素が1つも存在しないため、all([])はTrueになります。
同様に、
print(all(()))
も、
True
です。
all()は条件判定でよく使う
例えば、ユーザーが入力した複数の値がすべて正しいか確認する場合に利用できます。
ages = [20, 25, 30]
if all(age >= 18 for age in ages):
print("全員18歳以上です")
実行結果:
全員18歳以上です
このように、複数のデータを一括してチェックできます。
all()のメリット
all()を使うメリットは、「すべて条件を満たす」という意図をコードで分かりやすく表現できることです。
例えば、
all(number > 0 for number in numbers)
と書けば、
numbersのすべての値が0より大きい
という意味が直感的に分かります。
複雑なfor文を書かなくても、条件判定を簡潔に記述できます。
all()のまとめ
Pythonのall()は、すべての要素が真(True)かどうかを判定する組み込み関数です。
基本的な使い方は次のとおりです。
all(イテラブル)
条件式と組み合わせる場合は、次のように書けます。
all(x > 0 for x in numbers)
覚えておきたいポイントは以下の3つです。
-
all()はすべてがTrueならTrue -
1つでもFalseがあれば
False -
any()は「1つでもTrue」を判定する
特にPythonでは、all()とジェネレータ式を組み合わせることで、「すべてのデータが条件を満たしているか」をシンプルに記述できます。
あわせて読みたい
all()は、Pythonの組み込み関数の1つです。ほかの関数・メソッドとあわせて確認したい方は、次の一覧ページをご覧ください。





