I am asking if plain Python's dictionaries have the same optimization?
Given the two dicts with shared keys: d1 = {"name": "Havoc", "hand": "left"} d2 = {"name": "Malice", "hand": "right"}
Are "name" and "hand" shared between these two or does each one have a separate key inside Python's memory pool?
EDIT:
No, the keys of normal dictionaries are not shared. As outlined in the PEP 412, only internal dictionaries of class instances share their keys:
https://www.python.org/dev/peps/pep-0412/
Good for OOP in Python, I guess.
for k1,k2 in itertools.zip_longest(d1, d2):
print(k1 is k2)