def __getitem__(self, thing: Any) -> np.ndarray:
if type(thing) is str:<EOL><INDENT>return self.__getattr__(thing)<EOL><DEDENT>else:<EOL><INDENT>lm = LayerManager(None)<EOL>for key, layer in self.items():<EOL><INDENT>lm[key] = loompy.MemoryLoomLayer(key, layer[thing])<EOL><DEDENT>return lm<EOL><DEDENT>
Access a layer by name, or slice through all the layers

Args:
        thing:		if string, return the specified layer ("" is the default layer)
                                if slice 2-tuple, return a new LayerManager with all layers sliced