nested data structures in classes

Joel jfmoxley at mit.edu
Fri Aug 29 16:20:10 EDT 2003


Does anyone have any thoughts on this?

Joel Forrest Moxley <jfmoxley at MIT.EDU> wrote in message news:<mailman.1061749909.28327.python-list at python.org>...
> Greetings python-list!
> 
> The good news is that I've been having a blast with Python since early
> Spring.  I've had great success in both learning the language from online
> / usegroup resources and implementing it in one of my projects.  However,
> I can't pretend to be an expert, and I do not have a strong comp sci
> background.
> 
> This is a question that I've had for a while.  Usually, I'll stumble
> across the answer with repeated attempts and re-searching the groups, but
> I didn't have luck with this one, even in a Dietel book I picked up at the
> library.  I'm assuming there's an obvious answer, so maybe ya'll can save
> me some time.
> 
> My Python use involves organizing nested list information.  In a
> simplified example, you could imagine a list of reactants and products in
> a chemical reaction.  Thus,
> 
> len(nested_list_of_reactants) = len(nested_list_of_products) => "number of
> reactions"
> where: nested_list_of_reactants[i] => "list of reactants for reaction i"
> where: nested_list_of_reactants[i][j] => "reactant j of reaction i"
> 
> And so forth.  Obviously, there are many attributes associated with a
> specific reaction.  Currently, I just pass these attribute lists (nested
> and non-nested) into and out of functions.  However, I'd like to be able
> to create a class that would streamline this.
> 
> E.g., (this is a MATLAB structure whose qualities I'd like to emulate):
> reaction(27).name = 'fawlty towers'
> reaction(27).reactant(2).name = 'john cleese'
> 
> Currently, I'd have a list and a nested list to take care of this...
> reaction_name[27] = 'fawlty towers' and reactants[27][2] = 'john cleese'
> if this makes sense.
> 
> Any thoughts or suggestions on this type of data structuring would be
> greatly appreciated.  Python love, Joel




More information about the Python-list mailing list