web-dev-qa-db-ja.com

Pythonの配列要素のカウント

配列array.count(string)は配列内のすべての要素をカウントするのではなく、stringの出現数を検索するだけなので、配列内の要素の数をカウントするにはどうすればよいですか。

126
UnkwnTech

メソッドlen()は、リスト内の要素の数を返します。

構文:

len(myArray)

例えば:

myArray = [1, 2, 3]
len(myArray)

出力:

3
254
Trent

lenは、指定されたコンテナオブジェクトの__len__メンバー関数を呼び出してオブジェクト内の要素の数を取得する組み込み関数です。

通常、二重アンダースコアで囲まれた関数は、Python(コンテナ、番号など)の標準インターフェイスの1つを実装する「特別なメソッド」です。特別なメソッドは、構文のシュガー(オブジェクトの作成、コンテナーのインデックス作成とスライス、属性アクセス、組み込み関数など)を介して使用されます。

obj.__len__()を使用することは、特別なメソッドを使用する正しい方法ではありませんが、他のメソッドがそれほど大幅に変更された理由はわかりません。

25
Jeremy Brown

多次元配列がある場合、len()は探している値を提供しない可能性があります。例えば:

a = np.arange(10).reshape(2, 5)
print len(a) == 2

このコードブロックはtrueを返し、配列のサイズが2であることを示します。ただし、実際にはこの2D配列には10個の要素があります。多次元配列の場合、len()は配列のfirst次元の長さを示します。

len(a) == np.shape(a)[0]

任意の形状の多次元配列の要素数を取得するには:

size = 1
for dim in np.shape(a): size *= dim
12
user2993689

または、

myArray.__len__()

おっとなりたい場合; 「len(myArray)」は入力がはるかに簡単です! :)

3
Kevin Little

これを見る前に、私は「これを行う方法を作る必要がある!」と思いました。

for tempVar in arrayName: tempVar+=1

そして、「これを行うにはもっと簡単な方法が必要だ」と思いました。そして私は正しかった。

len(arrayName)

1
Evan Young