[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