【Python基礎】リスト内の要素が全て真(True)か確認するall関数

  • URLをコピーしました!
目次

all関数

前回、matplotlibでPIL(Pillow)とBytesIOを使ってGIFアニメーションを作成する方法を紹介しました。

今回はリスト内の要素が全てTrueか確認するall関数を紹介します。

それでは始めていきましょう。

all関数の基本

all関数は「all(リスト)」とするとリスト内の要素が全て真(True)の場合、Trueを返す関数です。

val_list = [True, True, True, True, True]

print(all(val_list))

実行結果
True

一つでもFalseがあると、返り値はFalseになります。

val_list = [True, True, False, True, True]

print(all(val_list))

実行結果
False

リストが空の場合はTrueが返されます。

val_list = []

print(all(val_list))

実行結果
True

リストの要素が数値の場合

リストの要素が数値(int型)の場合、0がFalseとして、それ以外の数値はTrueとして扱われます。

つまりリストに一つでも0が入っていた場合の返り値はFalseになります。

val_list = [0, 1, 2, 3, 4, 5]

print(all(val_list))

実行結果
False

逆に0が含まれない場合の返り値はTrueになります。

val_list = [1, 2, 3, 4, 5]

print(all(val_list))

実行結果
True

数値がマイナスでもTrueとして扱われます。

val_list = [-1, -2, -3, -4, -5]

print(all(val_list))

実行結果
True

値が小数点(float型)でもTrueとして扱われます。

val_list = [1.1, 2.2, 3.3, 4.4, 5.5]

print(all(val_list))

実行結果
True

リストの要素が文字列の場合

リストの要素が文字列の場合、空の文字列でない要素は全てTrueとして扱われます。

val_list = ["A", "B", "C", "D", "E"]

print(all(val_list))

実行結果
True

空の文字列の場合のみFalseとして扱われます。

val_list = ["", "B", "C", "D", "E"]

print(all(val_list))

実行結果
False

リスト内包表記と比較演算子を用いた使い方

リスト内包表記と比較演算子を用いることで、あるリストが特定の条件を満たしているか一度に判定することができます。

val_list = [x > 0 for x in [1, 2, 3, 4, 5]]

print(val_list)
print(all(val_list))

実行結果
[True, True, True, True, True]
True

この場合、1から5までの数値が0より大きいかどうか比較して、その結果をbool値でリストに格納するリスト内包表記をしています。

1から5なので0より大きいため全ての要素がTrueとなるリストが作成され、それをall関数で判定しているため、その返り値はTrueになります。

もし最初のリスト内に一つでも条件を満たさない要素がある場合はFalseが返されます。

val_list = [x > 0 for x in [-1, 2, 3, 4, 5]]

print(val_list)
print(all(val_list))

実行結果
[False, True, True, True, True]
False

リスト内の要素に一つでも真(True)が含まれるかどうか確認するany関数を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次