[Tutor] Looking for duplicates within a list [SOLVED]

Ken G. beachkid at insightbb.com
Fri Jun 11 18:08:02 CEST 2010


Dave Angel wrote:
> Ken G. wrote:
>> I have been working on this problem for several days and I am not 
>> making any progress.  I have a group of 18 number, in ascending 
>> order, within a list.  They ranged from 1 to 39.  Some numbers are 
>> duplicated as much as three times or as few as none.
>>
>> I started with one list containing the numbers.  For example, they 
>> are listed as like below:
>>
>> a = [1, 2, 3, 3, 4]
>>
>> I started off with using a loop:
>>
>>    for j in range (0, 5):
>>    x = a[0] # for example, 1
>>
>> How would I compare '1' with 2, 3, 3, 4?
>> Do I need another duplicated list such as b = a and compare a[0] with 
>> either b[0], b[1], b[2], b[3], b[4]?
>>
>> Or do I compare a[0] with a[1], a[2], a[3], a[4]?
>>
>> In any event, if a number is listed more than once, I would like to 
>> know how many times, such as 2 or 3 times.  For example, '3' is 
>> listed twice within a list.
>>
>> TIA,
>>
>> Ken
>>
> I'm a bit surprised nobody has mentioned the obvious solution -- 
> another list of size 40, each of which represents the number of times  
> a particular number has appeared.
>
> (Untested)
>
>
> a = [1, 2, 3, 3, 4]
> counts = [0] * 40
> for item in a:
>     counts[item] += 1
>
> Now, if you want to know how many times 3 appears, simply
>   print counts[3]
>
> The only downside to this is if the range of possible values is large, 
> or non-numeric.  In either of those cases, go back to the default 
> dictionary.
>
> DaveA
>
>
>
This will be look into.  Mucho thanks.

Ken



More information about the Tutor mailing list