[EMAIL PROTECTED] wrote: > Hi, > > I'll cut to the chase. > > I have a class named Foo(). I create an instance of this class named > bar, and I set bar.data to a large list of tuples. > > Within Foo() there is a method which operates on self.data. I need to > call this method after I set self.data from the "outside" (bar.data), > which isn't a problem. However, I have found through simple debugging > procedures that while bar.data exists fine before the said method is > called, self.data within the class method is EMPTY. In my class > constructor I do declare self.data to be an empty list ([]), but > shouldn't self.data contain the populated list? > > Basically... > > -------------------------------------------------------------------------- > class Foo(): > __init__(self): > self.data = [] > a_count(self): > .... > print self.data > .... > > bar = Foo() > bar.data = [(-74.0015, 1), (123.451, 18), ...] > print bar.data # Get what I expect > bar.a_count() # [] > -------------------------------------------------------------------------- > Well, ... you have not told us the whole story here. This code works as expected.
>>> class Foo(): ... def __init__(self): ... self.data = [] ... def a_count(self): ... print self.data ... >>> bar = Foo() >>> bar.data = [(-74.0015, 1), (123.451, 18)] >>> print bar.data [(-74.001499999999993, 1), (123.45099999999999, 18)] >>> bar.a_count() [(-74.001499999999993, 1), (123.45099999999999, 18)] >>> You effort to reduce your real code to a simple demonstration of the problem is appreciated, but I don't think it worked in this case. Want to try again? Gary Herron -- http://mail.python.org/mailman/listinfo/python-list