Hi, I wrote a C++ class that implements an n dimensional histogram in C++, using stl maps and vectors. I want to code this up now in Python and would like some input from this group.
The C++ class was VERY simple.. std::map<std::vector<unsigned short>, unsigned long> histo; Say for example I want a 3D histogram then std::vector<unsigned short> would contains the x, y, and z points in space and the unsigned long is the number of counts. If I want to know the value at a specific point in space I pass in a vector [3,2,1] and if it is found in the map then the count is returned other wise zero is returned. If I want to increment a count then histo[vector]++ will either set the count to 1 or increment the count if it is found... So as you can see this is a very simple way to implement a multi dimensional sparse histogram. I'm thinking that in python this must also be as simple as a dictionary, where the key is the vector x,y,z and the value is the count. My python is ok, but not the best and I was hoping some one here might want to help me out? This doesn't work for example... histo = {[0,0,0]:1, [0,0,1]:2} Would indicate that there is one sample at 0,0,0 and two samples at 0,0,1 but python tells me TypeError: list objects are unhashable So any suggestions would be welcome. TIA. -- http://mail.python.org/mailman/listinfo/python-list