pocketpy/benchmarks/dict_1.py
2024-06-14 14:01:25 +08:00

28 lines
509 B
Python

# test deletion
rnd = 0
keys = []
while True:
keys.append(rnd)
rnd = ((rnd * 5) + 1) & 1023
if rnd == 0:
break
assert len(keys) == 1024
a = {k: k for k in keys}
for i in range(10000):
if i % 2 == 0:
# del all keys
for k in keys:
del a[k]
assert len(a) == 0
else:
# add keys back
for k in keys:
a[k] = k
assert len(a) == len(keys)
assert len(a) == len(keys)
assert list(a.keys()) == keys # order matters