Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #61912

Re: collections Counter most_common method

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder5.xlned.com!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.001
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'lawrence': 0.09; 'method,': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'subject:method': 0.09; 'python': 0.11; 'bug': 0.12; "('b',": 0.16; "('r',": 0.16; '2),': 0.16; '2)]': 0.16; '5),': 0.16; "[('a',": 0.16; 'dict': 0.16; 'happily': 0.16; 'iterators,': 0.16; 'received:80.91.229.3': 0.16; 'received:dip0.t-ipconnect.de': 0.16; 'received:plane.gmane.org': 0.16; 'received:t-ipconnect.de': 0.16; 'sorted()': 0.16; 'underlying': 0.16; 'eager': 0.16; 'wrote:': 0.18; "hasn't": 0.19; '>>>': 0.22; 'example': 0.22; 'header:User-Agent:1': 0.23; 'fine': 0.24; 'question': 0.24; 'suggested': 0.26; 'second': 0.26; 'header:X-Complaints-To:1': 0.27; 'raise': 0.29; "i'm": 0.30; 'towards': 0.31; 'skip:c 30': 0.32; 'sense': 0.34; "i'd": 0.34; 'could': 0.34; 'common': 0.35; '(2)': 0.35; 'but': 0.35; 'there': 0.35; 'really': 0.36; 'done,': 0.36; 'returning': 0.36; 'yield': 0.36; 'method': 0.36; 'should': 0.36; 'being': 0.38; 'implement': 0.38; 'to:addr:python-list': 0.38; 'list,': 0.38; 'structure': 0.39; 'to:addr:python.org': 0.39; 'enough': 0.39; 'received:org': 0.40; 'how': 0.40; 'most': 0.60; 'interest': 0.64; 'more': 0.64; 'lazy': 0.91; 'trend': 0.91; 'enhancement': 0.95
X-Injected-Via-Gmane http://gmane.org/
To python-list@python.org
From Peter Otten <__peter__@web.de>
Subject Re: collections Counter most_common method
Date Sat, 14 Dec 2013 20:42:27 +0100
Organization None
References <l8i9gj$1b9$1@ger.gmane.org>
Mime-Version 1.0
Content-Type text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding 7Bit
X-Gmane-NNTP-Posting-Host p5084983f.dip0.t-ipconnect.de
User-Agent KNode/4.7.3
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.4122.1387050131.18130.python-list@python.org> (permalink)
Lines 24
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1387050131 news.xs4all.nl 2909 [2001:888:2000:d::a6]:57060
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:61912

Show key headers only | View raw


Mark Lawrence wrote:

> This method returns a list, the example from The Fine Docs being:-
> 
>  >>> Counter('abracadabra').most_common(3)
> [('a', 5), ('r', 2), ('b', 2)]
> 
> With the trend in Python being more and more towards methods returning
> iterators, is there ever likely to be an imost_common method, or has
> this been suggested and rejected, or what?  I'm really just curious, but
> if enough people were to express an interest and it hasn't already been
> done, I'd happily raise an enhancement request on the bug tracker.

As Counter is currently a dict you have to look at all items to find the 
most common. With that underlying data structure I don't see how it could 
make sense to yield the most common items incrementally. So

(1) When would you prefer it over the the eager variant?
(2) How would you implement it?

By the way, if you can come up with a plausible answer for the second 
question you should aim higher, for lazy heapq.nlargest() and sorted() 
functions...

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: collections Counter most_common method Peter Otten <__peter__@web.de> - 2013-12-14 20:42 +0100

csiph-web