Ah... my list is a string. That explains the len() results, but not why it is a string in the dirst place.
I have a dictionary containing a number of instances of the following class as values: class panel: mops =[] def __init__(self,number,level,location,mops,matrix): self.number=number self.level=level self.location=location self.mops=mops self.matrix=matrix abve mops is a list, yet when I access it it is a string... Fredrik Lundh wrote: > Ben wrote: > > > The output from this would be (for a given key value): > > Number: 181 > > Level: ovride+supvis > > Location: mons=4 v8.0 3rd floor > > MOPS: ['287', '288', '289', '290'] > > List Length: 28 > > Matrix: kng > > > > This is really odd...my len(v.mops) ought to return 4 (4 elements in > > the list). > > adding a > > print type(v.mops), repr(v.mops) > > debug statement might provide you with the clues you need. > > > In fact it returns 28. looking at outputs from lots of > > records, it seems that the length is almost always 7 time too great > > (28/7=4)....but not always. > > >>> len("['287',") > 7 > >>> len(" '288',") > 7 > >>> len(" '289',") > 7 > >>> len(" '290']") > 7 > > </F> -- http://mail.python.org/mailman/listinfo/python-list