This is deeply wrong. > Python then calculates the hash value for each key in the dictionary using the MurmurHash3 hash function. Umm... this isn't right. At all. Depending on configuration, Python uses an external hash, a Modified Fowler-Noll-Vo (FNV) hash, or SipHash. Here's a quote from Include/pyhash.h : * The values for Py_HASH_* are hard-coded in the * configure script. * * - FNV and SIPHASH* are available on a…
Thanks for your inputs I have fixed the article.
You've made it a different sort of wrong.
"Another probing sequence used in Python dictionaries is quadratic probing" is contradicted by the very source code you link to.
Compare your "but it can also cause some slots to be skipped or repeated" with dictobject.c's "repeating that 2^i times generates each int in range(2^i) exactly once (see any text on random-number generation for proof)."
How are you coming up with all of these wrong things? Start with why you thought Python used MurmurHash3.