Python 配列の長さを取得する
オブジェクトの長さを確認する方法は、プログラミング言語によって異なります。一部のプログラマーは count()
メソッドを使用することを選択するかもしれませんが、他のプログラマーは .length()
メソッドまたは .length
プロパティを使用して長さを見つけることを選択するかもしれません。
あるいは、Python は長さを見つけるために len()
関数と __len__()
メソッドを提供します。これら 2つが互いにどのように関連しているか、およびこの関数とメソッドを使用してオブジェクトの長さをどのように見つけることができるかを見ていきます。
len()
関数を使用して Python 配列の長さを取得する
len()
は、タプル、キュー、配列、リスト、文字列などのオブジェクトに対して呼び出される Python 組み込み関数であり、これらのオブジェクト内の単語または文字の合計を検索します。
一方、__len__()
は、長さを返すために使用される標準化されたマジックメソッド(メソッド名の前に 2つのアンダースコアがあり、メソッド名の後に 2つのアンダースコアがあるメソッド)です。
オブジェクトの長さを知りたい場合は、オブジェクトを引数として len()
に渡して、オブジェクトの len()
関数を呼び出します。暗黙的に、Python は渡されたオブジェクトに対して __len__()
メソッドを呼び出して、その長さを見つけます。言い換えると、Python は内部的に len(object)
を object.__len__()
に変換します。
したがって、オブジェクトで __len__()
を直接呼び出す代わりに、Python ではオブジェクトで len()
関数を呼び出すことをお勧めします。これは、Python のコードの一貫性によるものです。
len()
関数を呼び出すと、呼び出しの実行中に例外が発生しないことが保証されるため、プログラムは呼び出し後も実行を継続します。__len__()
メソッドを使用する場合は、逆になります。関数呼び出しの実行時にプログラムが例外をスローしないかどうかは不明です。この確実性は、Python で健全性チェック
と呼ばれるものです。
また、__len__()
を直接使用するよりも、オブジェクトで len()
を呼び出す方が読みやすいことに同意することもできます。
この場合、配列の長さを見つけるには、次のように実装します。
fruits = ["mango", "kiwi", "grape", "melon"]
arr_length = len(fruits)
print(arr_length)
上記の例では、果物の配列を定義しています。果物の配列の全長を見つけるには、配列を len()
関数に渡す変数を定義します。変数を出力して長さを見つけます。
出力:
4
配列は合計 4つのフルーツを返します。
len()
には、以下のような異なる機能スタイルで実装できる機能的な性質もあります。
length = map(len, list_of_objects)
例:
a_list = [[1], [3, 5, 7], [2, 4, 6, 8, 10]]
print(map(len, a_list))