associative array

Javier Montoya jmontoyaz at gmail.com
Thu Apr 1 06:58:51 EDT 2010


On Mar 31, 7:36 pm, Gary Herron <gher... at digipen.edu> wrote:
> JavierMontoyawrote:
> > Dear all,
>
> > I'm a newbie in python and would be acknowledge if somebody could shed
> > some light on associative arrays.
> > More precisely, I would like to create a multi-dimensional associative
> > array. I have for example a list of students which are identified
> > uniquely by their student IDs. Additionally, for each student I have
> > some information: FirstName, LastName, etc.
>
> > The array would have then the following form:
> > [StudentID] => [FirstName][LastName][Telephone]...[ ... ]
>
> > I would like to be able to access a field directly by using a
> > StudentID
> > [StudentID][FirstName]
> > [StudentID][LastName]
>
> > How could I manipulate such an array (create the array, add elements,
> > access data)?
>
> > Best wishes
>
> Create a class for student with attributes for ID, FirstName, LastName, etc.
>
>   class Student:
>       def __init__(self, id, FirstName, ...):
>           self.id = id
>           self.FirstName = FirstName
>           ...
>
> then whenever you create a student object, use a dictionary to associate
> the object with its is
>   AA = {} # An empty dictionary
>   s = Student(...)
>   AA[s.id] = s
>   ... and repeat for many students...
>
> Then to access a student's object given an id:
>   s = AA[id]
>   print s.id, s.FirstName, s.LastName, ...
>
> I'd *not* call this a multi-dimension association, but rather just an
> association between student objects and their ids.
>
> Hope that helps,
>
> Gary Herron
>
> --
> Gary Herron, PhD.
> Department of Computer Science
> DigiPen Institute of Technology
> (425) 895-4418

Dear all,

Thanks for your suggestions, it worked! As Gary suggested, I created a
'student' class and mapped its objects to a dictionary.
Is it possible to sort the dictionary by the student's grades in
descending order?

Best wishes



More information about the Python-list mailing list