¿Por qué dict.keys () de Python devuelve una lista y no un conjunto?

Hubiera esperado que el método de las claves de Python devolviera un conjunto en lugar de una lista. Ya que se asemeja mucho al tipo de garantías que darían las claves de un mapa hash. Específicamente, son únicos y no ordenados, como un conjunto. Sin embargo, este método devuelve una lista:

>>> d = {} >>> d.keys().__class__  

¿Es esto solo un error en la API de Python o hay alguna otra razón por la que me estoy perdiendo?

Una razón es que dict.keys() es anterior a la introducción de conjuntos en el lenguaje.

Tenga en cuenta que el tipo de retorno de dict.keys() ha cambiado en Python 3: la función ahora devuelve una vista en lugar de una lista.