"special_dragonfly" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > "Bruno Desthuilliers" <[EMAIL PROTECTED]> > wrote in message news:[EMAIL PROTECTED] >> special_dragonfly a écrit : >> (snip) >>> I've managed to solve the problem, I really was just being a dunce. >>> Here's how incase anyone is wondering: >>> >>> class MyClass: >>> def __init__(self): >>> name="" >>> dict={} >>> dict[0]=[] >>> dict[0].append(MyClass()) >>> dict[0][0].name="Hello" >>> print dict[0][0].name >>> >>> I'm sorry if I've wasted anyones time, although if there's a better way >>> of doing the above I'd still be interested to know. >> >> # unless you need pre 2.3.x compat, better to use newstyle classes >> class MyClass(object): >> # use the initializer to initialize your instance >> def __init__(self, name=''): >> # the use of 'self' is mandatory, else you only have a local var >> self.name = name >> >> # don't use builtin names as identifiers - unless you really want to >> # shadow the builtins >> d = {0:[MyClass('hello')} >> d[0].append(MyClass('goodbye')) >> d.setdefault(1, []).append(MyClass('Yo')) >> print d >> >> HTH >
Is there anyway for python to consider the values within a string when entering the data into a dictionary. I know that isn't very clear so here's an example: class MyClass(object): def __init__(self,name="",age=""): self.name=name self.age=age data="Gary,50" d={0:[MyClass(data)]} data="Adam,25" d[0].append(MyClass(data)) The data is coming from a text file working on a line by line basis. I've just tried and I'm just getting the full string in the first field. That seems logical, now I don't want it to though! Dominic
-- http://mail.python.org/mailman/listinfo/python-list