Pythonのallメソッドを使って配列やリストの要素が全てTrueかを調べる方法

スポンサーリンク

Pythonには、あらかじめ定義された興味深いメソッドがたくさんあります。

そのうちの1つが、Pythonの all() メソッドです。

このメソッドは、反復可能なPythonオブジェクトのすべての要素が真理であるかどうかをチェックするために広く使われています。

それでは、 all() メソッドについて詳しく学び、私たちのコードにどのように組み込むことができるかを見てみましょう。

スポンサーリンク

Pythonにおけるall()メソッドの動作について

理論的には、Python の all() メソッドはリスト、辞書、配列などの反復可能なオブジェクトのすべての要素が真かどうかをチェックします。

すべての要素が反復可能であれば(あるいはオブジェクトが空であれば) True を返し、少なくとも1つがそうでなければ False を返します。

Truthy “という用語を使っていますが、”True “ではないことにお気づきでしょうか?これは両方の用語が異なる意味を持つためです。

Pythonでは、 all() はすべての要素について bool(element) が真であるかどうかを調べます。

そう考えると、ここではtruthyはtrueとは実は違うものだと推論できます。

all() 関数の使用方法と例

それでは、Python の all() メソッドの動作を説明する例を見てみましょう。

#python all() example
print("all() in Python:")
 
#Defining different type of variables
list1=['J','o','u','r','n','a','l','D','e','v']
list2=[0,1,1,1,0]
dictionary1={1:"True",2:"False"}
dictionary2={0:"False",1:"True"}
tpl1=(0,1,2,3)
 
#Evaluating the variables with the all() method.
print("list1=['J','o','u','r','n','a','l','D','e','v']:",all(list1))
print("list2=[0,1,1,1,0]:",all(list2))
print("tpl1=(0,1,2,3):",all(tpl1))
print("dictionary1:",all(dictionary1))
print("dictionary2:",all(dictionary2))
 
# Testing all() method's evaluation of empty objects
print("Now for empty objects:")
dict_empt={}
list_empt=[]
print("dict_empt:",all(list_empt))
print("list_empt:",all(dict_empt))

結果は以下の通りです。

All Output
all() Output
  • list1 の場合、すべての要素が偽でないため、 all()True を返します。
  • 一方、list2 には false と評価される 0 という数字が含まれているため、False が返されます。
  • タプルtpl1についても、最初の要素が0であるため、このメソッドは False を返し、これはfalseと評価されます。
  • 辞書1については、どのキーも0またはfalseではないので、出力として True が得られます。デモのために、”False “という文字列を追加しました。この文字列は、FALSEというブール値ではないので、TRUEと評価されます。
  • 辞書2のキーが0であるため、Falseと評価されます。
  • リストでも辞書でも、空のイテレート可能なオブジェクトの場合、 all() メソッドは True を返します。
タイトルとURLをコピーしました