重複を含めて、Python カウンターにあるアイテムの数を知りたいです。私が試しlen
たところ、ユニークなアイテムの数がわかりました:
>>> c = Counter(x=3,y=7)
>>> len(c)
2
私が持っている最高のものはsum(c.itervalues())
ひどいものではないと思いますが、O(1) でアクセスできるように Counter オブジェクトが値をキャッシュすることを望んでいました。
Counter ドキュメントはsum(c.itervalues())
、「Counter オブジェクトを操作するための一般的なパターン」セクションで、これに対する標準パターンとしてあなたの答えを示しているので、もっと良いものがあるとは思えません。
辞書の他のiter*
メソッドと同様に、Python 3itervalues
ではvalues
.