Alex Hall wrote:
On 6/11/10, Ken G. <beach...@insightbb.com> 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.
FYI, Python's "set" data type will let you have a list and never have
a repeat. I know that is not your goal now, but if you want to remove
duplicates, it seems like a good choice.
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]?
A couple points here. First, you will want to make life easier by
saying range(0, len(a)) so that the loop will work no matter the size
of a.
Second, for comparing a list to itself, here is a rather inefficient,
though simple, way:

for i in range(0, len(a)):
 x=a[i]
 for j in range(0, len(a)):
  y=a[j]
  if(x==y and i!=j): #match since a[i]==a[j] and i and j are not the
same index of a
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.
Do not quote me here, but I think sets may be able to tell you that as well.
TIA,

Ken
Thank you for your contribution.  As seen here, I have much to learn.

Ken

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to