示例#1
0
 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
示例#2
0
文件: orbitals.py 项目: jkn93/orbkit
 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)
示例#8
0
    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)
示例#9
0
 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)
示例#10
0
 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)
示例#11
0
文件: parseB.py 项目: bzhurov/auto
 def __getitem__(self,index):
     try:
         return UserList.__getitem__(self,index)
     except TypeError:
         return self.data[0][index]
示例#12
0
 def __getitem__(self, i):
     self.__make_unique()
     return UserList.__getitem__(self, i)
示例#13
0
 def __getitem__(self, i):
     self.__make_unique()
     return UserList.__getitem__(self, i)
示例#14
0
文件: monopoly.py 项目: jhover/public
 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]
 def __getitem__(self, key):
     if isinstance(key, int):
         return list.__getitem__(self, key)
     return self.__d[key]