2011-03-31 23 views
5

पायथन 2.7/3.1 में तत्वों की संख्या की जांच करने से भयानक collections.Counter प्रस्तुत किया गया।पायथन के 'काउंटर`

मेरा प्रश्न: मैं कैसे गिन सकता हूं कि काउंटर के कितने "तत्व उपस्थिति" हैं?

मैं यह चाहता हूँ:

len(list(counter.elements())) 

लेकिन कम।

+0

मैं अजगर-विचारों पर विषय को उठाया और रेमंड Hettinger ने कहा कि एक 'Counter.elements_count()' विधि जोड़ा जा सकता है। पायथन मुद्दा: http://bugs.python.org/issue11733 –

उत्तर

3
sum(counter.itervalues()) 

+3

कोई ओ (1) दृष्टिकोण नहीं है? – corsiKa

+0

नहीं, कोई नहीं है। 'काउंटर' इस जानकारी का ट्रैक नहीं रखता है। कम से कम गणना गणना 'लेन (सूची (counter.elements()) से अधिक कुशल है) '। –

+0

यह (ए) अधिक कुशल और (बी) मेरी मूल विधि से अधिक संक्षिप्त है, लेकिन यह अभी भी बदसूरत है। यदि कोई बेहतर तरीका नहीं है, तो मेरा सुझाव है कि 'काउंटर.लेमेंट्स_count()' विधि होनी चाहिए। –

संबंधित मुद्दे