Help with Dictionaries and Classes requested please.

special_dragonfly Dominic at PLEASEASK.co.uk
Thu Aug 9 08:12:13 EDT 2007


"special_dragonfly" <Dominic at PLEASEASK.co.uk> wrote in message 
news:46baf384$0$11943$7b0f0fd3 at mistral.news.newnet.co.uk...
>
> "Bruno Desthuilliers" <bruno.42.desthuilliers at wtf.websiteburo.oops.com> 
> wrote in message news:46baf183$0$433$426a74cc at news.free.fr...
>> 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







More information about the Python-list mailing list