Christopher Spears wrote: > Thanks to all of the tutors on this mailing list! I'm > finally making some headway! I originally decided to > tackle my problem one operator at a time: > > class MyList: > def __init__(self, aList=None): > if aList is None: > self.mylist = [] > else: > self.mylist = aList[:] > def __getitem__(self, index): > return self.mylist[index] > > However, I got the following error: > > >>>>from MyList import * >>>>x = MyList([1,2,3]) >>>>x[0] > > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "MyList.py", line 8, in __getitem__ > self.mylist[index] > AttributeError: MyList instance has no attribute > '__setitem__'
Strange. It works for me. Are you sure there is nothing else in MyList.py? D:\>type MyList.py class MyList: def __init__(self, aList=None): if aList is None: self.mylist = [] else: self.mylist = aList[:] def __getitem__(self, index): return self.mylist[index] D:\>python Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from MyList import * >>> m=MyList([0,1,2]) >>> m[0] 0 >>> m[1] 1 Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor