Hi D'Arcy J.M. Cain,

Thank you.  I tried this and my list of 76,979 integers got reduced to a 
dictionary of 76,963 items, each item listing the integer value from the list, 
a comma, and a 1.  I think what this is doing is finding all integers from my 
list that are unique (only one instance of it in the list), instead of creating 
a dictionary with integers that are not unique, with a count of how many times 
they occur.  My dictionary should contain only 11 items listing 11 integer 
values and the number of times they appear in my original list.

Thanks,

Paul J. Scipione
GIS Database Administrator
work: 602-371-7091
cell: 480-980-4721

-----Original Message-----
From: D'Arcy J.M. Cain [mailto:da...@druid.net] 
Sent: Thursday, March 26, 2009 12:50 PM
To: Scipione, Paul (ZP5296)
Cc: python-list@python.org
Subject: Re: Find duplicates in a list and count them ...

On Thu, 26 Mar 2009 12:22:27 -0700
paul.scipi...@aps.com wrote:
> I'm a newbie to Python.  I have a list which contains integers (about 
> 80,000).  I want to find a quick way to get the numbers that occur in the 
> list more than once, and how many times that number is duplicated in the 
> list.  I've done this right now by looping through the list, getting a 
> number, querying the list to find out how many times the number exists, then 
> writing it to a new list.  On this many records it takes a couple of minutes. 
>  What I am looking for is something in python that can grab this info without 
> looping through a list.

icount = {}
for i in list_of_ints:
    icount[i] = icount.get(i, 0) + 1

Now you have a dictionary of every integer in the list and the count of times 
it appears.

-- 
D'Arcy J.M. Cain <da...@druid.net>         |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.

Email Firewall made the following annotations

---------------------------------------------------------------------
--- NOTICE ---

This message is for the designated recipient only and may contain confidential, 
privileged or proprietary information.  If you have received it in error, 
please notify the sender immediately and delete the original and any copy or 
printout.  Unintended recipients are prohibited from making any other use of 
this e-mail.  Although we have taken reasonable precautions to ensure no 
viruses are present in this e-mail, we accept no liability for any loss or 
damage arising from the use of this e-mail or attachments, or for any delay or 
errors or omissions in the contents which result from e-mail transmission.

---------------------------------------------------------------------

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to