Pythonでanyメソッドを使って変数が配列orリストorタプルかを判定する方法

スポンサーリンク

Pythonのany()メソッドも組み込みメソッドの一つです。

先ほど、Pythonのall()メソッドの動作と使い方を見ました。

any()メソッドはそのメソッドと非常によく似ています。

これは、任意のイテレート可能なオブジェクトの性質について教えてくれます。

このメソッドが実際にどのようなもので、どのように動作するのかを理解しましょう。

スポンサーリンク

Python の any() メソッドの仕組み

Pythonのany()メソッドは、配列、リスト、タプルなどの反復可能なオブジェクトの要素のいずれかが真であるかどうかをチェックします。

そのうちのどれかが真であれば、このメソッドは直接 ‘True’ を返し、どれもが真でなければ ‘False’ を返します。

また、any() メソッドは、与えられた反復子オブジェクトが空であれば ‘False’ を返します。

以下のシンタックスを詳しく見てみましょう。

構文を詳しく見てみましょう。

any( iterable_object_name )

ここです。

  • iterable_object_name は、その名前が示すように、チェックが行われるオブジェクトの名前です。
  • このメソッドは、iterableオブジェクトの要素のいずれかが真である場合にのみ、’True’を返します。
  • 一方、すべての要素が false であるか、イテラブルが空である場合、このメソッドは ‘False’ を返します。

Pythonにおけるany()メソッドの例

以下のコードは、Python の組み込みメソッド any() の使用と動作を、可能な限り最良の方法で説明しようとするものです。

# python any() example
print("any() in Python:")
 
# Defining different type of variables
 
list1 = ['John','Arya','Daniel','Sophie']
list2 = [0, 1, 1, 1, 0]
dictionary1 = {1: "True", 2: "False"}
dictionary2 = {0: "False", 1: "True"}
tpl1 = (0, 0, 0, 0)
 
# Evaluating the variables with the any() method.
 
print("any() results for various variables and objects:")
print("list1=['John','Arya','Daniel','Sophie']:", any(list1))
print("list2=[0,1,1,1,0]:", any(list2))
print("tpl1=(0,0,0,0):", any(tpl1))
print("dictionary1:", any(dictionary1))
print("dictionary2:", any(dictionary2))
 
# Testing any() method's evaluation for empty objects
 
dict_empt = {}
list_empt = []
print("any() results for empty objects:")
print("dict_empt:", any(list_empt))
print("list_empt:", any(dict_empt))

結果は以下の通りです。

Any Method Testing Example
any() Method Testing Example

この例では、リスト、タプル、辞書などの反復処理可能なオブジェクトを使用しました。

しかし、any()メソッドはどのような反復処理可能なオブジェクトにも適用でき、特に何を使用したかを示すものではありません。

このコードを理解しましょう。

  • list1 はすべて真理値なので、list1 の any() メソッドは真を返します。
  • 同様に、list2 には 0 ではない偽りのない値が 3 つ含まれているので、この場合にも any() は True を返します。
  • タプル tpl1 については、すべての要素が 0 であり false と評価されるため、このメソッドは False を返します。
  • dictionary1とdictionary2の両方が少なくとも1つのTruthyの値を持っています。そのため、望みの出力、つまり True が得られます。
  • 空のイテレートオブジェクトの場合、先に述べたように any() メソッドは空のリストと辞書の両方に対して False を返します。

Pythonにおけるany()メソッドとall()メソッドの相違点

Pythonのall()メソッドとany()メソッドの違いを簡単にまとめます。

  • any() はイテラブルの要素のうち少なくとも1つが Truthy であるかどうかをチェックする
  • all() は、イテラブルのすべての要素が Truthy であるかどうかをチェックします。
  • 空のオブジェクトに対しては any() は False を返すのに対し、all() は true を返します。

まとめ

この記事では、Pythonの組み込みメソッドである any() メソッドがどのように動作し、様々な反復処理可能オブジェクトとどのように相互作用するのかを学びました。

Pythonの組み込みメソッドに関する過去の記事もご覧ください。

Pythonでインポートすることなく常に使用できるさまざまなメソッドを理解することができます。

タイトルとURLをコピーしました