我们从Python开源项目中,提取了以下49个代码示例,用于说明如何使用collections.OrderedDict.__setitem__()。
def __setitem__(self, item, value): ''' Set one or more items using flexible indexing. The slice and int syntax (including int in the tuple/list syntax) can only be used to change values of existing keys, rather than set values for new keys. ''' item2, single = convert_index_to_keys(self, item) super_setitem = super(IndexDict, self).__setitem__ if single: super_setitem(item2, value) else: if len(item2) != len(value): raise ValueError( 'Number of keys (%s) based on argument %s does not match ' 'number of values (%s)' % (len(item2), item, len(value))) map(IndexDict_check_key_type, item2) return map(super_setitem, item2, value)
def __setitem__(self, item, value): self.reverse[value] = item dict.__setitem__(self, item, value)
def __setitem__(self, item, value): dict.__setitem__(self, item, value) dict.__setitem__(self, value, item)
def __setitem__(self, attr, val): if type(val) is dict: val = ThreadsafeDict(val) self.lock() try: dict.__setitem__(self, attr, val) finally: self.unlock()
def __setitem__(self, attr, val): val = makeThreadsafe(val) self.lock() try: list.__setitem__(self, attr, val) finally: self.unlock()
def __setitem__(self, key, val): kl = key.lower() if kl in self.keyMap: OrderedDict.__setitem__(self, self.keyMap[kl], val) else: OrderedDict.__setitem__(self, key, val) self.keyMap[kl] = key
def __setitem__(self, key, value): if key in self: del self[key] OrderedDict.__setitem__(self, key, value) self._check_limit()
def __getitem__(self, key, *args, **kwargs): # Get the key and remove it from the cache, or raise KeyError value = OrderedDict.__getitem__(self, key) del self[key] # Insert the (key, value) pair on the front of the cache OrderedDict.__setitem__(self, key, value) # Return the value from the cache return value
def __setitem__(self, key, value, *args, **kwargs): # Key was inserted before, remove it so we put it at front later if key in self: del self[key] # Too much items on the cache, remove the least recent used elif len(self) >= self._maxsize: self.popitem(False) # Insert the (key, value) pair on the front of the cache OrderedDict.__setitem__(self, key, value, *args, **kwargs)
def __setitem__(self, key, value, *args, **kwargs): # Reset the cache if we have too much cached entries and start over if len(self) >= self._maxsize: self.clear() # Insert the (key, value) pair on the front of the cache dict.__setitem__(self, key, value, *args, **kwargs)
def __setitem__(self, key, value): if self._read_only: self._read_only_error() dict.__setitem__(self, key, value)
def __setitem__(self, key, value): if self._read_only: self._read_only_error() OrderedDict.__setitem__(self, key, value)
def __getitem__(self, key, **kwargs): value = OrderedDict.__getitem__(self, key) del self[key] OrderedDict.__setitem__(self, key, value, **kwargs) return value
def __setitem__(self, key, value, **kwargs): if key in self: del self[key] OrderedDict.__setitem__(self, key, value, **kwargs) if self._max_size and len(self) > self._max_size: self.popitem(last=False)
def __setitem__(self, key, value, **kwargs): OrderedDict.__setitem__(self, key, value) if self._max_size and len(self) > self._max_size: self.popitem(last=False)
def __setitem__(self, key, value): now = time() dict.__setitem__(self, key, (value, now))
def __setattr__(self, item, value): """Maps attributes to values. Only if initialized and there *isn't* an attribute with this name """ # Note: this allows normal attributes access in the __init__ method super_setattr = super(AttrDict, self).__setattr__ if '_AttrDict__attr2item' not in self.__dict__: # slot?? return super_setattr(item, value) if item in dir(self): # any normal attributes are handled normally return super_setattr(item, value) return self.__setitem__(item, value)
def mset_list(item, index, value): 'set mulitple items via index of int, slice or list' if isinstance(index, (int, slice)): item[index] = value else: map(item.__setitem__, index, value)
def __setitem__(self, args, value): ''' set values via multi-indexing ''' raise NotImplementedError
def __setitem__(self, args, value): ''' set values via multi-indexing If ``d.indices`` is empty (i.e., no index names and no items are set), index names can be created when setting a new item with specified names (``index1`` and ``index2`` can not be int or slice):: d = MIDict() d['uid':1, 'name'] = 'jack' # d -> MIDict([[1, 'jack']], ['uid', 'name']) d = MIDict() d[1] = 'jack' # using default index names <==> d[:'jack'] = 1 # d -> MIDict([(1, 'jack')], ['index_1', 'index_2']) If ``d.indices`` is not empty, when setting a new item, all indices of the item must be specified via ``index1`` and ``index2`` (implicitly or explicitly):: d = MIDict([['jack', 1, '192.1']], ['name', 'uid', 'ip']) d['tony'] = [2, '192.2'] <==> d['name':'tony',['uid', 'ip']] = [2, '192.2'] # the following will not work: d['alice', ['uid']] = [3] # raise ValueError More examles:: d = MIDict(jack=1, tony=2) d['jack'] = 10 # replace value of key 'jack' d['tom'] = 3 # add new key/value d['jack'] = 2 # raise ValueExistsError d['alice'] = 2 # raise ValueExistsError d[:2] = 'jack' # raise ValueExistsError d['jack', :] = ['tony', 22] # raise ValueExistsError d['jack', :] = ['jack2', 11] # replace item of key 'jack' ''' return _MI_setitem(self, args, value)
def __setitem__(self, *args, **kwargs): OrderedDict.__setitem__(self, *args, **kwargs) if len(self) > self.maxlen: self.popitem(last = False)
def __setitem__(self, key, value): OrderedDict.__setitem__(self, key, value) self._check_size_limit()
def __setitem__(self, key, value, *args, **kwargs): OrderedDict.__setitem__(self, key, value, *args, **kwargs) self._check_size_limit()
def __setitem__(self, key, value): """Store a new views, potentially discarding an old value. """ if key not in self: if len(self) >= self.cache_size: self.popitem(last=False) OrderedDict.__setitem__(self, key, value)
def __getitem__(self, key): """Get the item, but also makes it most recent. """ _super = super(LRUCache, self) value = _super.__getitem__(key) _super.__delitem__(key) _super.__setitem__(key, value) return value
def __setitem__(self, key, value): """ Set d[key] to value. """ with self.lock: if len(self) == self.max_len: self.popitem(last=False) OrderedDict.__setitem__(self, key, (value, time.time()))
def __setitem__(self, key, value): OrderedDict.__setitem__(self, want_unicode(key), want_unicode(value))
def __setitem__(self, key, value): """Store a new views, potentially discarding an old value.""" if key not in self: if len(self) >= self.cache_size: self.popitem(last=False) OrderedDict.__setitem__(self, key, value)
def __getitem__(self, key): """Gets the item, but also makes it most recent.""" _super = super(LRUCache, self) value = _super.__getitem__(key) _super.__delitem__(key) _super.__setitem__(key, value) return value
def __setitem__(self, key, value): """ Set d[key] to value. """ with self.lock: if len(self) == self.max_len: self.popitem(last=False) OrderedDict.__setitem__(self, key, value) self.key_time_map[key] = {}
def __llen__(self, key): return len(OrderedDict.__setitem__(self, key, value))
def set_ttl(self, key, seconds): is_have = OrderedDict.__getitem__(self,key) if is_have: expire_time = time.time() + seconds self.key_time_map[key] = {"time": time.time(), "max_age": 0, "expire_time": expire_time} key_ttl = expire_time - time.time() #self.__setitem__(key,is_have) #OrderedDict.__setitem__(self, key,is_have) if key_ttl > 0: return key_ttl return None