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