This commit is contained in:
blueloveTH 2023-10-31 00:28:36 +08:00
parent 4b00846861
commit 2f3017ebfd
2 changed files with 26 additions and 1 deletions

View File

@ -20,6 +20,9 @@ class defaultdict:
def __setitem__(self, key, value):
self._a[key] = value
def __delitem__(self, key):
del self._a[key]
def __repr__(self) -> str:
return f"defaultdict({self.default_factory}, {self._a})"
@ -50,3 +53,17 @@ class defaultdict:
def pop(self, *args):
return self._a.pop(*args)
def clear(self):
self._a.clear()
def copy(self):
new_dd = defaultdict(self.default_factory)
new_dd._a = self._a.copy()
return new_dd
def get(self, key, default):
return self._a.get(key, default)
def update(self, other):
self._a.update(other)

View File

@ -1,9 +1,17 @@
from collections import Counter, deque
from collections import Counter, deque, defaultdict
import random
import pickle
import gc
import builtins
dd_dict_keys = sorted(defaultdict.__dict__.keys())
d_dict_keys = sorted(dict.__dict__.keys())
d_dict_keys.remove('__new__')
if dd_dict_keys != d_dict_keys:
print("dd_dict_keys:", dd_dict_keys)
print("d_dict_keys:", d_dict_keys)
raise Exception("dd_dict_keys != d_dict_keys")
q = deque()
q.append(1)
q.append(2)