I would’ve expected Python’s keys method to return a set instead of a list. Since it most closely resembles the kind of guarantees that keys of a hashmap would give. Specifically, they are unique and not sorted, like a set. However, this method returns a list:
>>> d = {}
>>> d.keys().__class__
<type 'list'>
Is this just a mistake in the Python API or is there some other reason I am missing?
One reason is that
dict.keys()predates the introduction of sets into the language.Note that the return type of
dict.keys()has changed in Python 3: the function now returns a "set-like" view rather than a list.