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
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor