2012-04-26 5 views
-1

ビルドカウンターの長さを取得する方法:2-Dカウンタ

len(counters.form.items()) 

どのように二次元の長さを取得するには:

class Counters: 
    def __init__(self,cats) 
     self.form = collections.defaultdict(collections.Counter) 

は、私が最初の次元の長さを取得します?

+1

不揃いの配列は、それ自体だけで、ネストされた構造を二次元を持っていません。 –

+0

暗闇の中でここで撮影len(counters.form.keys()) – dc5553

+0

あなたは最大の長さを意味しますか?または、その次元に沿った異なる値の数? –

答えて

0

あなたはPythonで2次元配列をしたいと思うならば、あなたはそのように実装する必要があります。

x = 2 
y = 3 
nestedArray = [[0]*y for a in xrange(x)] 

そして、配列の長さがx * yをだろう。

あるいはさらに良い、使用クラス

class NestedArray(object): 
    def __init__(self, x, y, defaultValue=0): 
     self.x = x 
     self.y = y 
     self.array = [[defaultValue]*y for a in xrange(x)] 

    def __len__(self): 
     return self.x * self.y 

    def __getitem__(self, key): 
      return self.array[key] 

    def __setitem__(self, key, value): 
      self.array[key] = value 
+1

まだ2次元配列ではありません。 –

+0

@ IgnacioVazquez-Abramsどうしてですか? – iTayb

+0

実際に '[]' – okm