def __getitem__(self, item): parse_directly = False if isinstance(item, (int, numpy.int64)): return UserList.__getitem__(self, item) elif isinstance(item, slice): return MOClass(UserList.__getitem__(self, item)) elif isinstance(item, (list, numpy.ndarray)) or \ (sys.version_info.major == 3 and isinstance(item, range)): if isinstance(item, numpy.ndarray): parse_directly = item.dtype in [int, numpy.int_, numpy.intc, bool, numpy.bool_] else: parse_directly = True for it in item: if not isinstance(it, (int, numpy.int_, numpy.intc, bool, numpy.bool_)): parse_directly = False break if parse_directly: item = numpy.array(item) if item.ndim > 1: raise ValueError('Only 1D arrays can be used for indexing!') data_out = [] for i, c in enumerate(item): if isinstance(c, numpy.bool_): if c: data_out.append(self.data[i]) else: data_out.append(self.data[c]) mo_out = MOClass(data_out) mo_out.selected_mo = item mo_out.update() del data_out else: mo_out = self.select(item) return mo_out
def __getitem__(self, item): if isinstance(item, int): return UserList.__getitem__(self, item) else: ao_out = AOClass(seq=UserList.__getitem__(self, item)) ao_out.update() return ao_out
def __delitem__(self, index): try: x = list.__getitem__(self, index) except IndexError: raise IndexError, "index out of range" self.__unregister_field(x) list.__delitem__(self, index)
def __delitem__(self, index): try: x=list.__getitem__(self, index) except IndexError: raise IndexError, "index out of range" self.__unregister_field(x) list.__delitem__(self, index)
def __setitem__(self, index, item): if not isinstance(index, int): raise TypeError, "cannot set items by key, only by index" try: x = list.__getitem__(self, index) except IndexError: raise IndexError, "index out of range" self.__unregister_field(x) self.__register_field(item) list.__setitem__(self, index, item)
def __setitem__(self, index, item): if not isinstance(index, int): raise TypeError, "cannot set items by key, only by index" try: x=list.__getitem__(self, index) except IndexError: raise IndexError, "index out of range" self.__unregister_field(x) self.__register_field(item) list.__setitem__(self, index, item)
def __setitem__ (self, index, item): """L.__setitem__ (index, item) -> L[index] = item Raises a TypeError, if the passed item argument does not inherit from the ListItem class. """ if not isinstance (item, ListItem): raise TypeError ("item must inherit from ListItem") old = UserList.__getitem__ (self, index) # Remove the old ListItem. old.collection = None del old # Set the new one. UserList.__getitem__ (self, index, item) if item.collection != self: item.collection = self if self.list_changed: self.list_changed (self)
def __setitem__(self, index, item): """L.__setitem__ (index, item) -> L[index] = item Raises a TypeError, if the passed item argument does not inherit from the ListItem class. """ if not isinstance(item, ListItem): raise TypeError("item must inherit from ListItem") old = UserList.__getitem__(self, index) # Remove the old ListItem. old.collection = None del old # Set the new one. UserList.__getitem__(self, index, item) if item.collection != self: item.collection = self if self.list_changed: self.list_changed(self)
def __getitem__(self, key): if _isstring(key): if self._fname_dict.has_key(key): return self._fname_dict[key] raise KeyError, key return list_.__getitem__(self, key)
def __getitem__(self,index): try: return UserList.__getitem__(self,index) except TypeError: return self.data[0][index]
def __getitem__(self, i): self.__make_unique() return UserList.__getitem__(self, i)
def next(self): self.currentindex += 1 if self.currentindex >= self.__len__(): self.currentindex = self.currentindex - self.__len__() return UserList.__getitem__(self, self.currentindex)
def __getitem__(self, key): if isinstance(key, int): return list.__getitem__(self, key) return self.__d[key]