I'm not supprised... and understand why it's happening. I'm asking how to get around it.
Basically i'm asking how to override, if i can, the `=` On Thu, Oct 11, 2012 at 5:32 PM, Dave Angel <d...@davea.name> wrote: > On 10/11/2012 04:48 PM, Kevin Anthony wrote: > > I have a class that contains a list of items > > I can set items using __setitem__ but if i want to set the while list, i > > changes the variable from a myclass to a list. How can i accomblish this > > Example > >>>> C = myclass() > >>>> C[0] = 57 > >>>> type(C) > > myclass > >>>> C = [57,58,59,60] > This creates a list, and binds the name that used to refer to the > myclass to now refer to the list. The myclass object will go away, > since there are no more refs to it. > > >>>> type(C) > > list > > > > > Why is that a surprise? > > As for how to add multiple items to the existing mylist, how about: > > for index, item in enumerate([57, 50, 59, 60]) : > C[index] = item > > Alternatively, you could call one of the other methods in the class. > But since you gave us no clues, I'm shouldn't guess what it was called. > But if I were to make such a class, I might use slicing: > C[:] = [57, 50, 59, 60] > > BTW, your naming capitalization is backwards. Class names should begin > with a capital, Myclass. Instances should begin with lowercase - > myinstance > > -- > > DaveA > > -- Thanks Kevin Anthony www.NoSideRacing.com Do you use Banshee? Download the Community Extensions: http://banshee.fm/download/extensions/
-- http://mail.python.org/mailman/listinfo/python-list