M
Martin Manns
Hi,
I have created a class that wraps a numpy array of custom objects. I
would like to be able to slice respective objects (without copying the
array if possible).
I have browsed the doc and found some hints at __getitem__. However, I
still do not grasp how to do it. How do I implement __getitem__
correctly?
from numpy import *
class Cell(object):
pass
class Map(object):
def __init__(self, dimensions):
self.generate_map(dimensions)
def generate_map(self, dimensions):
map_range = xrange(reduce(lambda x,y: x*y, dimensions))
self.map = array([Cell() for i in map_range])
self.map = self.map.reshape(dimensions)
mymap = Map((100, 100, 100))
mymap[10:20,15:20,:] # This line should work afterwards
Thanks in advance
Martin
I have created a class that wraps a numpy array of custom objects. I
would like to be able to slice respective objects (without copying the
array if possible).
I have browsed the doc and found some hints at __getitem__. However, I
still do not grasp how to do it. How do I implement __getitem__
correctly?
from numpy import *
class Cell(object):
pass
class Map(object):
def __init__(self, dimensions):
self.generate_map(dimensions)
def generate_map(self, dimensions):
map_range = xrange(reduce(lambda x,y: x*y, dimensions))
self.map = array([Cell() for i in map_range])
self.map = self.map.reshape(dimensions)
mymap = Map((100, 100, 100))
mymap[10:20,15:20,:] # This line should work afterwards
Thanks in advance
Martin