Delete item from PyDict by exact value and hash¶
Beware that the implementation of the routine here relies on implementation details of CPython’s dict that go beyond the published API. This file depends on python version when cythonized. It expects PY_VERSION_HEX to be available in the cythonization and the result depends on it (and needs to match the python version the C-compiler compiles it against). Usage should do something along the lines of
- cythonize(“dict_del_by_value.pyx”,
- compile_time_env({“PY_VERSION_HEX”: sys.hexversion}))
AUTHORS:
- Nils Bruin (2017-05)
-
sage.cpython.dict_del_by_value.
test_del_dictitem_by_exact_value
(D, value, h)¶ This function helps testing some cdef function used to delete dictionary items.
INPUT:
D
– a Python<dict>
.value
– an object that is valueD
.h
– the hash of the key under which to findvalue
inD
.
The underlying cdef function deletes an item from
D
that is in the hash bucket determined byh
and whose value is identic withvalue
. Of course, this only makes sense if the pairs(h, value)
corresponding to items inD
are pair-wise distinct.If a matching item can not be found, the function does nothing and silently returns.