Ed the problem is that my original code did not have the closing brackets for the method calls get_a and get_b whereas the code snippet I posted did. That's probably why your version works and mine failed. Thanks for your help!
Alun At 17:19 24/04/2006, Ed Singleton wrote: >On 24/04/06, Etrade Griffiths <[EMAIL PROTECTED]> wrote: > > Hi > > > > just feeling my way into Python with a small app that reads data from > > file, creates objects using that data, stores the objects in a list, loops > > over the list doing comparison tests to filter out various > objects. Here is > > a code snippet: > > >[snip] > > > > Trying to debug this using IDLE. The calls x.get_a and x.get_b always > > return zero so something is going wrong somewhere. I think I'm either not > > storing the objects correctly or retrieving them correctly but no idea why! > > All suggestions gratefully received!!! > >I added some test input to give the code below, and it works fine for >me. Can you give us some test input that fails for you? Can you also >show us your test() function as it may the code in there that is >failing. > >Ed > >class myObj: > def __init__(self,a,b): > self.a=a > self.b=b > > def get_a(self): > return self.a > > def get_b(self): > return self.b > > >input = ["1 2 3", "4 5 6"] > >L1=[] >nobj=0 > >for line in input: > L0=line.split() > a=L0[1] > b=L0[2] > nobj=nobj+1 > > an_obj=myObj(a,b) > > L1.append(an_obj) > ># Filter data > >for i in range(1,nobj): > for x in L1: # ... loop over all objects in list > print "a -> ", x.get_a() # ... get value >of a from current object > print "b -> ", x.get_b() > > >It returns: > >a -> 2 >b -> 3 >a -> 5 >b -> 6 _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor